Operational control management apparatus and operational control management method

ABSTRACT

An operational control management method of determining a possibility of parallel execution of multiple operational controls that are included in a workflow, in which a computer performs processing includes judging whether a first operational control that is to be executed next and a second operational control that follows the first operational control are detailed determination targets, based on operation categorization information that results from categorizing each of the multiple operational controls based on an operation target and operation content; and determining a possibility of parallel execution based on relationships of the first operational control and the second operational control to the operation target and on operation situations of operation targets, with which the first and second operational controls are associated, in a case where the first operational control and the second operational control are the detailed determination targets.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of theprior Japanese Patent Application No. 2015-060690, filed on Mar. 24,2015, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to an operational controlmanagement apparatus, and an operational control management method.

BACKGROUND

In an information processing system, the number of operationalmanagement targets (for example, computers, software, or the like) hasincreased, and operational management work has become complicated. Inorder to make operational work efficient in the system, a softwareprogram is used that supports an operational control for the computer,the software program, or the like that is the operational managementtarget. For example, the operational control includes activation,checking of activation, creation of setting information, or the like.The computer that executes the software program creates a workflowaccording to a user instruction. The workflow includes multipleoperational controls and information on the order in which the multipleoperational controls are executed. With the workflow, the operationalcontrol is automated, and thus operational work can be efficientlyperformed.

Incidentally, in order to accomplish a shortening of a certainprocessing sequence, some of the processing operations are parallelized.For example, a method of determining whether processing using parallelcontrol ends within a shorter period of time than processing usingsequential control is proposed. Furthermore, a print processingapparatus is also proposed that determines a possibility of parallelprocessing by determining whether each of the two successive imageprocessing sequences is image processing that depends on a position ofimage data that has to be processed, or is image processing that isindependent of the position of the image data.

Japanese Laid-open Patent Publication Nos. 2012-123688 and 10-337932 areexamples of related art.

In order to complete execution of the workflow faster, it is thoughtthat multiple operational controls that are included in the workflow areexecuted in parallel in multiple apparatuses that are operationalmanagement targets. In order to suitably determine whether thepossibility of the parallel execution of each of the operational controlcomponents is determined, it is thought that a determination whichresults from combining priorities (the order) of all operationalcontrols in terms of pre-processing and post-processing, and states (astate of a control target and a state of another target that has ahierarchical relationship to the control target) of all targets is made.However, because the number of combinations of all the states of thetargets is enormous and the amount of computing is enormous, there is aproblem in that, when processing is performed on all the combinations,it takes time to determine the possibility of the parallel execution andthus this is not realistic as a method of making a determination whilethe workflow is in execution.

On the other hand, in order to make a simple determination of thepossibility of the parallel execution of the operational controlcomponents, it is also thought that, for example, based on the controlcontent of and a control target of each of the operational controlcomponents, the operational control component is modeled prior to theexecution of the workflow and the determination is made with onlyinformation that results from the modeling, while the workflow is inexecution. However, when a relationship to the control target and astate of the control target that changes dynamically while the workflowis in execution are not considered, it is difficult to suitablydetermine whether the parallel execution is possible. For example, thereoccurs a problem in that it is difficult to clearly determine whetherthe parallel execution is possible and efficiency is not improved, or inthat it is erroneously determined that the parallel execution ispossible and the workflow does not correctly operate.

An object of an aspect of the present disclosure is to provide anoperational control management program, an operational controlmanagement apparatus, and an operational control management method, inwhich a determination of a possibility of parallel execution is madepossible while operational execution is in progress.

SUMMARY

According to an aspect of the embodiments, an operational controlmanagement method of determining a possibility of parallel execution ofmultiple operational controls that are included in a workflow, in whicha computer performs processing includes judging whether a firstoperational control that is to be executed next and a second operationalcontrol that follows the first operational control are detaileddetermination targets, based on operation categorization informationthat results from categorizing each of the multiple operational controlsbased on an operation target and operation content; and determining apossibility of parallel execution based on relationships of the firstoperational control and the second operational control to the operationtarget and on operation situations of operation targets, with which thefirst and second operational controls are associated, in a case wherethe first operational control and the second operational control are thedetailed determination targets.

The object and advantages of the invention will be realized and attainedby means of the elements and combinations particularly pointed out inthe claims.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory and arenot restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating an operational control managementapparatus according to a first embodiment;

FIG. 2 is a diagram illustrating an example of an information processingsystem according to a second embodiment;

FIG. 3 is a diagram illustrating an example of hardware sections of anoperational server;

FIG. 4 is a diagram illustrating a functional example of the operationalserver;

FIG. 5 is a diagram illustrating an example of a workflow;

FIGS. 6A, 6B, 6C, to 6D are diagrams, each of which illustrates anexample of a format of an operation model;

FIG. 7 is a diagram illustrating an example of a procedure fordetermining a possibility of parallel execution;

FIG. 8 is a diagram illustrating an example of a first determinationcriterion;

FIG. 9 is a diagram illustrating an example of a second determinationcriterion;

FIG. 10 is a diagram illustrating an example of a third determinationcriterion;

FIG. 11 is a diagram illustrating an example of a table;

FIG. 12 is a diagram illustrating an example of a workflow managementtable;

FIG. 13 is a diagram illustrating an example of the operational controlcomponent definition table;

FIG. 14 is a diagram illustrating an example of a variable managementtable;

FIG. 15 is a diagram illustrating an example of an instance managementtable;

FIG. 16 is a diagram illustrating an example of an operation modeldefinition table;

FIG. 17 is a diagram illustrating an example of an operation model statemanagement table;

FIG. 18 is a diagram illustrating an example of a definition of anattribute of a type of resource and an example of a state type;

FIG. 19 is a diagram illustrating an example of a state transitiondefinition table;

FIG. 20 is a diagram illustrating an example of a parallel executiondetermination criterion definition table;

FIG. 21 is a diagram illustrating an example of a sub-criteriondefinition table;

FIG. 22 is a diagram illustrating an example of a server statemanagement table;

FIG. 23 is a diagram illustrating an example of a resource statemanagement table;

FIG. 24 is a flowchart illustrating an execution example of a workflow;

FIG. 25 is a flowchart illustrating an example of selection of theoperation model;

FIG. 26 is a diagram illustrating a specific example of the selection ofthe operation model;

FIG. 27 is a flowchart illustrating an example of generation of anintermediate form of the operation model;

FIG. 28 is a flowchart illustrating an example of the generation(details) of the intermediate form of the operation model;

FIG. 29 is a diagram illustrating a specific example of the generationof the intermediate form of the operation model;

FIG. 30 is a diagram illustrating an example of an operation model statemanagement table after the generation of the intermediate form;

FIG. 31 is a flowchart illustrating an example of updates of states of aserver and a resource;

FIG. 32 is a flowchart illustrating an example of an update of theoperation model;

FIG. 33 is a flowchart illustrating an example of calculation of thepossibility of the parallel execution;

FIG. 34 is a flowchart illustrating an example of a serial execution orof the parallel execution;

FIG. 35 is a diagram illustrating a first example of determination ofthe possibility of the parallel execution;

FIG. 36 is a diagram illustrating the first example (a continuation) ofthe determination of the possibility of the parallel execution;

FIG. 37 is a diagram illustrating a second example of the determinationof the possibility of the parallel execution;

FIG. 38 is a diagram illustrating the second example (a continuation) ofthe determination of the possibility of the parallel execution;

FIG. 39 is a diagram illustrating a third example of the determinationof the possibility of the parallel execution;

FIG. 40 is a diagram illustrating the third example (a continuation) ofthe determination of the possibility of the parallel execution;

FIG. 41 is a diagram illustrating a fourth example of the determinationof the possibility of the parallel execution;

FIG. 42 is a diagram illustrating the fourth example (a continuation) ofthe determination of the possibility of the parallel execution;

FIG. 43 is a diagram illustrating a fifth example of the determinationof the possibility of the parallel execution;

FIG. 44 is a diagram illustrating the fifth example (a continuation) ofthe determination of the possibility of the parallel execution;

FIG. 45 is a diagram illustrating an example of parallelization;

FIG. 46 is a diagram illustrating a comparative example of theparallelization; and

FIG. 47 is a diagram illustrating the comparative example (acontinuance) of the parallelization.

DESCRIPTION OF EMBODIMENTS

<First Embodiment>

The present embodiments will be described below referring to thedrawings.

FIG. 1 is a diagram illustrating an operational control managementapparatus according to a first embodiment. An operational controlmanagement apparatus 1 is connected to information processingapparatuses 3 and 4 through a network 2. The operational controlmanagement apparatus 1 performs operational management of theinformation processing apparatuses 3 and 4. Operational managementtargets on which the operational control management apparatus 1 performsoperational management may be physical computers (which are alsoreferred to as physical machines) such as the information processingapparatuses 3 and 4, and may be virtual computers (which are alsoreferred to as virtual machines) that operate on the physical machines.The operational management targets on which the operational controlmanagement apparatus 1 performs the operational management includesoftware programs such as an operation system (OS) and an applicationthat are executed by the physical machine or the virtual machine.

The operational control management apparatus 1 manages the executing ofan operational control on each of the operational management targets.The operational controls are, for example, various controls in a systemoperation, such as activation/stopping of the physical machine or thevirtual machine, setting of operation parameters for the softwareprogram, activation/stopping of a service provided by the softwareprogram, backup acquirement, and electronic mail transmission.

In the information processing system, the operational management targetis caused to execute a sequence of controls (for example, activation ofan apparatus, activation of a service, creation of an account, and thelike) that result from combining multiple operational controls. In theoperational control management apparatus 1, the sequence of operationalcontrols is managed by a workflow. The workflow is a set of multipleoperational controls, and includes multiple pieces of operationalcontrol information. Each of the multiple operational controls that areincluded in the workflow is referred to as an operational controlcomponent. Furthermore, the workflow includes information on the orderin which the multiple operational controls are executed. Information onthe workflow is stored in advance in a storage section is by a systemmanager.

The operational control management apparatus 1 includes the storagesection is and an arithmetic operation section 1 b. The storage sectionis may be a volatile storage device such as a Random Access Memory(RAM), and may be a nonvolatile storage device such as a hard disk drive(HDD) or a flash memory. The arithmetic operation section 1 b caninclude a central processing unit (CPU), a digital signal processor(DSP), an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA), and the like. The arithmetic operationsection 1 b may be a processor that executes a program. The “processor”here can also include a set (multiprocessor) of multiple processors.

Information on a workflow 5 is stored in the storage section 1 a. Theworkflow 5 includes pieces of information on operational controls P1,P2, P3, and P4. The workflow 5 includes information indicating that theorder in which the operational controls P1, P2, P3, and P4 are executedis this order: the operational controls P1, P2, P3, and P4. That is,according to the workflow 5, the operational controls P1, P2, P3, and P4can be executed in series (sequentially).

The operational controls P1, P2, P3, and P4 may be operational controlsof apparatuses (for example, the information processing apparatus 3) incommon use, and may be operational controls of different apparatuses(for example, the operational control P1 and the operational control P2are operational controls of the information processing apparatus 3 andthe information processing apparatus 4, respectively).

Operation categorization information that results from categorizing eachof the multiple operational controls based on an operation target andoperation content is stored in the storage section 1 a. The operationtarget is, for example, an entity (which is also referred to as amachine) that executes a software program, such as a physical machine ora virtual machine. Furthermore, the operation target may be, forexample, a service that is provided by a software program, configurationinformation that is used for providing the service, or the like (whichis also referred to as a resource). Because the resource is realized onthe machine, the machine and the resource can be said to be under ahierarchical relationship. The operation content is, for example,determined according to the presence or absence of a change in a stateof the operation target. For example, the operation content of theoperational control that causes the change in the state of the operationtarget is defined as a “control”, and the operation content of theoperational control that does not cause the change in the state of theoperation target is defined as a “reference”.

In a case where the operational controls are categorized into twopatterns of the operation target (the machine and the resource) and twopatterns of the operation content (the control and the reference), theoperational controls are categorized into 4 types (=2×2) of operationcategories (models). More specifically, the operational control in afirst operation category is an operational control that performs control(for example, activation or stopping) of the machine. The operationalcontrol in a second operation category is an operational control thatmakes a reference to the machine (for example, checking the activation,the stop, or the like). The operational control in a third operationcategory is an operational control that performs control on the resource(for example, the activation/stopping of the service, creation of aconfiguration file of the service, or the like). The operational controlin a fourth operation category is an operational control that makes areference to the resource (for example, checking the activation/stop ofthe service, the presence of the configuration file, or the like). Forexample, pieces of operation categorization information includeoperation categorization information on the operational control P1,operation categorization information on the operational control P2,operation categorization information on the operational control P3, andoperation categorization information on the operational control P4.

When executing the workflow 5, the arithmetic operation section 1 bjudges whether a first operational control to be executed next and asecond operational control that follows the first operational controlare targets for detailed determination (whether the first operationalcontrol and the second operational control correspond to the targets forthe detailed determination), based on the operation categorizationinformation. At this point, making the detailed determination, as willbe described below, means making the determination of the possibility ofthe parallel execution considering a relationship between the operationtargets and states (operation situations) of the operation targets.

For example, in a stage prior to the execution of the operationalcontrol P1, the arithmetic operation section 1 b checks whether theoperational control P1 to be executed next and the operational controlP2 that follows the operational control P1 are targets for the detaileddetermination of the possibility of the parallel execution, based on theoperation categorization information. More details are as follows.

The operational controls P1 and P2 are, for example, operationalcontrols on the machine in common use. The operational control P1 is anoperational control (an operational control that performs control on themachine) in the first operation category. The operational control P2 isan operational control (an operational control that makes a reference tothe machine) in the second operation category. In this case, thearithmetic operation section 1 b judges that the operational controls P1and P2 are not the targets for the detailed determination of thepossibility of the parallel execution. This is because, in a case wherethe control (the operational control P1) is performed on a certainmachine and then the reference (the operational control P2) to thecertain machine is made, there is a high possibility that the latter(the operational control P2) will be an operational control on a resultof the former (the operational control P1) and thus, even without makingthe detailed determination, it can be determined that the parallelexecution is impossible.

Thus, the arithmetic operation section 1 b executes the operationalcontrol P1 without parallelizing the operational controls P1 and P2 inthe workflow 5. For example, the arithmetic operation section 1 binstructs the machine to execute the operational control P1. Thearithmetic operation section 1 b receives a notification that theexecution of the operational control P1 is completed, from the machine.Thus, the arithmetic operation section 1 b assumes the operationalcontrol P1 to have been completed. A workflow 5 a indicates a state (astate immediately prior to execution of the operational control P2) inwhich, among the operational controls P1, P2, P3, and P4, theoperational control P1 has been executed and the operational controlsP2, P3, and P4 are not in execution.

For example, after executing the operational control P1, a stage priorto the execution of the operational control P2, the arithmetic operationsection 1 b judges whether the operational control P2 to be executednext and the operational control P3 that follows the operational controlP2 are the targets for the detailed determination of the possibility ofthe parallel execution, based on the operation categorizationinformation. More details are as follows.

The operational controls P2 and P3 are operational controls on themachine in common use. The operational control P2, as described above,is the operational control (the operational control that makes areference to the machine) in the second operation category. Theoperational control P3 is an operational control in the third operationcategory (an operational control that performs control on the resource).In this case, the arithmetic operation section 1 b determines that theoperational control P2 and P3 are the targets for the detaileddetermination of the possibility of the parallel execution. This isbecause, in a case where the reference (the operational control P2) ismade to a certain machine and then the control (the operational controlP3) is performed on the resource on the certain machine, there is a highpossibility that the latter (the operational control P3) will start tobe executed regardless of a result of the former (the operationalcontrol P2), without the former (the operational control P2) beingaccompanied by the changing of the machine.

In a case where the first operational control and the second operationalcontrol are the targets for the detailed determination of thepossibility of the parallel execution, the arithmetic operation section1 b determines the possibility of the parallel execution based on arelationship in the operation target between the first and secondoperational controls and on an operation situation of the operationtarget with which the first and second operational controls areassociated.

For example, the arithmetic operation section 1 b makes the detaileddetermination of a possibility that the operational controls P2 and P3will be executed in parallel, as follows. The operation target of theoperational control P2 is the machine. The operation target of theoperational control P3 is the resource on the machine. The machine andthe resource are under the hierarchical relationship as described above.If the machine does not operate, the resource is difficult to use. Themachine can be said to be at a lower level of the hierarchy than theresource, and the resource can be said to be at a higher level of thehierarchy. Therefore, whether the control on the resource is possibledepends on an operation of the machine.

Accordingly, the arithmetic operation section 1 b checks the operationsituation of the machine (the machine that provides a resource that isthe operation target of the operational control P3) that is theoperation target of the operational control P2. For example, if themachine does not operate (that is, if the operation situation is notindefinite), the arithmetic operation section 1 b determines that theexecution of the operational control P3 is possible.

When it is determined that the parallel execution of the operationalcontrols P2 and P3 is possible, the arithmetic operation section 1 bparallelizes the operational controls P2 and P3 in the workflow 5 a, andexecutes the operational controls P2 and P3. A workflow 5 b indicates astate where, among the operational controls P1, P2, P3, and P4, theoperational controls P2 and P3 are parallelized. For example, thearithmetic operation section 1 b instructs the execution of theoperational controls P2 and P3 on the machine. The arithmetic operationsection 1 b receives a notification that the execution of operationalcontrols P2 and P3 is completed, from the machine. Thus, the operationalcontrols P2 and P3 are assumed to have been executed. The next target toexecute is the operational control P4. In this manner, the operationalcontrol management apparatus 1 narrows the operational control that isthe target for the detailed determination of the possibility of theparallel execution, and thus makes it possible to determine thepossibility of the parallel execution of the operational controls P2 andP3 while the workflow 5 is in execution.

In the example described above, in a case where the operation categoryof the operational control P2 is the operational control that makes areference to the machine, and the operation category of the operationalcontrol is the operational control that performs control on theresource, the operational control P2 And the operational control P3 areset to be determined as the target for the detailed determination, butother cases are thought of as well. For example, in a case where theoperation category of the operational control P2 is the operationalcontrol that performs control on (or makes a reference to) the resourceand the operation category of the operational control P3 is theoperational control that makes a reference to (performs control on) theresource, whether the operational control P2 and the operational controlP3 are the targets for the detailed determination can be judgeddepending on whether target resources are the same. In this case, thearithmetic operation section 1 b checks states of the machine thatrealize the target resource, and of the resource, and makes the detaileddetermination of the possibility of the parallel execution.

Incidentally, it is thought as well that, while the workflow 5 is inexecution, the determination of the possibility of the parallelexecution that results from combining priorities (the order) of theoperational controls and states (a state of an operation target or astate of another target that has a hierarchical relationship to theoperation target) of all targets is made for all the operationalcontrols. Incidentally, the number of combinations of the states of thetargets is enormous. Thus, when processing is performed on all thecombinations, this takes time to determine the possibility of theparallel execution, and thus, is not realistic. That is, there is aconcern that it will take too much time to finish the workflow 5 becausedetermination processing is performed on the enormous number ofcombinations while the workflow 5 is in execution.

On the other hand, it is thought as well that prior to the execution ofthe workflow, the determination of the possibility of the parallelexecution of the operational control components is made and a pattern ofwhich the parallel execution is possible is created in advance. However,because the state of the operation target and the like are consideredwhile the workflow is actually in execution, it is not easy to clearlydetermine whether the parallel execution is possible, and the precisionof a result of the determination of the possibility of the parallelexecution is low. For example, when multiple operational controls areparallelized without considering the states of the operation targets,there is a high possibility that an error will occur in any one of theoperational controls.

Accordingly, the operational control management apparatus 1 makes adetermination of the possibility of the parallel execution in stages, bycombining a portion (an operation category, such as the machine or theresource) of which the determination is possible with static informationthat is set in advance and a portion (a state of the resource or themachine) that, if not checked dynamically, is difficult to determine.With the operational control management apparatus 1, the possibility ofthe parallel execution may not be determined in advance for all pairs ofoperational control components, or while the workflow is in execution,the possibility of the parallel execution may not be verified for allthe pairs of operational control components. If the operational controlcomponents are categorized in advance to some extent, the pairs ofoperational control components that are set to be the targets for thedetailed determination of the possibility of the parallel execution arenarrowed by an operation categorization relationship between both of theoperational control components. Accordingly, a processing cost thataccompanies the determination of the possibility of the parallelexecution can be saved much more than when the determination of thepossibility of the parallel execution is made for the combinations ofthe states of all the targets. As a result, the determination of thepossibility of the parallel execution of each operational control isefficiently made while the workflow 5 is in execution.

<Second Embodiment>

FIG. 2 is a diagram illustrating an example of an information processingsystem according to a second embodiment. The information processingsystem according to the second embodiment includes an operational server100 and business servers 200, 200 a, and 200 b. The operational server100 and the business servers 200, 200 a, and 200 b are connected to anetwork 10. The network 10, for example, a local area network (LAN). Thenetwork 10 may be connected to the Internet or a wide area network(WAN).

The operational server 100 is a server computer that performs theoperational management of business servers 200, 200 a, and 200 b. Theoperational server 100 manages the execution of the operational controlon the business servers 200, 200 a, and 200 b.

The business servers 200, 200 a, and 200 b are computer servers thatexecute processing of user business. For example, the business servers200, 200 a, and 200 b executes an application that supports theprocessing of the user business. A user can use serviced that areprovided by the business servers 200, 200 a, and 200 b, by operating aclient computer (of which an illustration is omitted) that is connectedto the network 10.

The business servers 200, 200 a, and 200 b may be personal computersthat execute the virtual machine. In this case, for example, thebusiness servers 200, 200 a, and 200 b executes a software program thatis called a hypervisor. The hypervisor assigns a processing capabilityof a CPU that is included in each of the business servers 200, 200 a,and 200 b that are physical computers, or a storage area of a RAM, as aresource for an arithmetic operation, to a virtual machine that operatesin each of the business servers 200, 200 a, and 200 b. An application oneach of the business servers 200, 200 a, and 200 b may be executed bythe virtual machine.

The business servers 200, 200 a, and 200 b execute processing accordingto an instruction from the operational server 100. The business servers200, 200 a, and 200 b each have an agent function of receiving aninstruction from the operational server 100, controlling the executionof processing, or notifying the operational server 100 of a result ofthe execution of the processing.

FIG. 3 is a diagram illustrating an example of hardware sections of anoperational server 100. The operational server 100 has a processor 101,a RAM 102, a HDD 103, an image signal processing section 104, an inputsignal processing section 105, a medium reader 106, and thecommunication interface 107. Each of the sections is connected to a busof the operational server 100. The business servers 200, 200 a, and 200b can also be realized using the same sections as those of theoperational server 100.

The processor 101 controls information processing by the operationalserver 100. The processor 101 may be a multiprocessor. The processor 101is, for example, a CPU, a DSP, an ASIC, or an FPGA. The processor 101may be a combination of at least two or more of the CPU, the DSP, theASIC, and the FPGA.

The RAM 102 is a main storage device of the operational server 100. AnOS program and at least one or more of application programs that areexecuted by the processor 101 are temporarily stored in the RAM 102.Furthermore, various pieces of data that is used for the processing bythe processor 101 are stored in the RAM 102.

The HDD 103 is an auxiliary storage device of the operational server100. Data is magnetically read from and written to magnetic disks builtinto the HDD 103. The OS program, the application programs, and variouspieces of data are stored in the HDD 103. The operational server 100 mayinclude a different type of auxiliary storage device, such as a flashmemory or a solid state drive (SSD), and may include multiple auxiliarystorage devices.

According to a command from the processor 101, the image signalprocessing section 104 outputs an image to a display 11 that isconnected to the operational server 100. As the display 11, a cathoderay tube (CRT) display, a liquid crystal display, or the like can beused.

The input signal processing section 105 acquires an input signal from aninput device 12 that is connected to the operational server 100, andoutputs the acquired input signal to the processor 101. As the inputdevice 12, for example, a pointing device such as a mouse or a touchpanel, a keyboard, or the like can be used.

The medium reader 106 is a device that reads from a program or data thatis recorded in a recording medium 13. As the recording medium 13, forexample, a magnetic disk such as a flexible disk (FD) or a HDD, anoptical disk such as a compact disc (CD), or a digital versatile disc(DVD), and a magneto-optical (MO) disk can be used. Furthermore, as therecording medium 13, for example, a nonvolatile semiconductor memory canbe used such as a flash memory card. According to a command from theprocessor 101, the medium reader 106, for example, a program or datathat is read from the recording medium 13 is stored in the RAM 102 orthe HDD 103.

The communication interface 107 communicates with another apparatus thatis connected to the business servers 200, 200 a, and 200 b through thenetwork 10. The communication interface 107 may be a wired communicationinterface, and may be a wireless communication interface.

FIG. 4 is a diagram illustrating a functional example of an operationalserver. The operational server 100 has a storage section 110, a controlsection 130, and an execution section 140. The storage section 110 isrealized as a storage area that is secured by the RAM 102 or the HDD103. The control section 130 and the execution section 140 are realizedby the processor 101 executing a program that is stored in the RAM 102.

Various pieces of information that are used for processing by each ofthe control section 130 and the execution section 140 are stored in thestorage section 110. Pieces of information that are stored in thestorage section 110 include workflow definition information, informationfor managing the execution of the workflow, and information that is usedfor the determination of the possibility of the parallel execution ofthe operational control components that are included in the workflow.Furthermore, information on a command for executing processing in theoperational control component, information for designating the businessserver 200, 200 a, and 200 b and transmitting a command, or the like isstored in advance in the storage section 110.

The control section 130 controls the execution of the workflow by theexecution section 140. The control section 130 may be made to cause theexecution section 140 to start to execute the workflow by receiving aninstruction for the execution of the workflow through user controlinput. The control section 130 may cause the execution section 140 tostart to execute the workflow at the timing that is scheduled.

Based on information that is stored in the storage section 110, whilethe workflow is in execution, the control section 130 determines thepossibility of the parallel execution of the first operational controlto be executed next and the second operational control that follows thefirst operational control. In a case where it is determined that thereis a possibility that the first and second operational controls will beexecuted in parallel, the control section 130 instructs the executionsection 140 to execute the first and second operational controls inparallel. In a case where it is determined that there is a possibilitythat the first and second operational controls will not be executed inparallel, the control section 130 instructs the execution section 140 toexecute the first operational control.

The execution section 140 execute the workflow according to theinstruction from the control section 130. The execution of the workflowincludes causing a target machine to execute the operational controlthat is included in the workflow. In a case where the control section130 instructs the execution 140 to execute the first and secondoperational controls in parallel, the execution section 140 causes thetarget machine (in some cases, the same target machines are present ordifferent target machines are present) to execute the first and secondoperational controls in parallel.

FIG. 5 is a diagram illustrating an example of the workflow. The firstoperational control component “Start” of a workflow 20 indicatesstarting of the workflow (for example, initiates starting processing inthe operational server 100 prior to the execution of the workflow 20).The last operational control component “End” of the workflow 20indicates ending of the workflow (for example, indicates endingprocessing in the operational server 100 after the execution of theworkflow 20).

The workflow 20 includes operational control components 21, 22, 23, 24,25, 26, and 27 between operational control components “Start” and “End.”The workflow 20 is a workflow for performing the operational controlcomponents 21, 22, 23, 24, 25, 26, and 27 in series in this order.

The operational control component 21 is OS restarting. The operationalcontrol component 21 is assigned “X” as a name of a server for a controltarget (which can also be said to be an “operation target”). Theoperational control component 22 is checking of activation of theserver. The operational control component 22 is assigned “X” as the nameof the server that is the control target.

The operational control component 23 is checking of activation of theservice. The operational control component 23 is assigned “X” as thename of the server that is the control target. The operational controlcomponent 23 is assigned “S” as the name of the service that is thecontrol target.

The operational control component 24 is creation of an account. Theoperational control component 24 is assigned “X” as the name of theserver that is the control target. The operational control component 24is assigned “Ac” as a name of an account that is the control target.

The operational control component 25 is acquisition of accountinformation. The operational control component 25 is assigned “X” as thename of the server that is the control target. The operational controlcomponent 25 is assigned “Ac” as the name of the account that is thecontrol target.

The operational control component 26 is checking of a home directory ofthe account. The operational control component 26 is assigned “X” as thename of the server that is the control target. The operational controlcomponent 26 is assigned “Ac” as the name of the account that is thecontrol target.

The operational control component 27 is user login. The operationalcontrol component 27 is assigned “X” as the name of the server that isthe control target. The operational control component 27 is assigned“Ac” as the name of the account that is the control target.

At this point, each operational control component is categorized intomultiple operation models. FIGS. 6A and 6D are diagrams, each of whichillustrates an example of a format of an operation model. The controltarget and control content (which can also be said to be operationcontent) are included in operational control component information. Theoperational server 100 categorizes the control target and the controlcontent as follows.

The operational server 100 categorizes the control target of theoperational control components into “servers” and “resources.” The“server” may be a physical computer (a physical machine) such as thebusiness server 200, and may be a virtual computer (a virtual machine)that operates on the business server 200. The “resources” arecategorized into various types (types of resource), such as pieces ofinformation that are used for execution of a software program, orprocesses that are generated with the execution of the software. Thecontrol target is identified by the name of the server and the name ofthe resource. The names of resource include names of types, such as aname of the service, the name of the account, a name of a file, and aname of a process. The “resource” is realized on the “server.” For thisreason, the designation of the “resource” also includes the designationof the “server.”

The operational server 100 categorizes the control content” into“controls” and “reference” according to the presence or absence of achange in a state of a target for the control by the operational controlcomponent. The “control” changes the state (the operation situation) ofthe control target. For example, activation of, stopping of and changeof a configuration of the server changes a state of the server that isthe control target (changes the state of the server from being activatedto being stopped, from being stopped to being activated, from having apre-setting file to having a post-setting file, and so forth).Furthermore, update of, generation of, deletion of the resource changesthe state (the operation situation) of the resource that is the controltarget (changes the state of the resource) from having a pre-update fileto having a post-update file, from having no file to having a file, fromhaving a file to having no file, and so forth. The “reference” does notchange the state of the control target. For example, because thechecking of the state of the server is performed only for checking, thisdoes not change the state of the server that is the control target.Furthermore, because the checking of the state of the resource is alsoperformed only for checking, this does not change the state of theresource that is the control target.

As described above, the operational server 100 categorizes the controltarget of the operational control component into two types, that is,“servers” and “resources”, and categorizes the content of theoperational control component into two types, that is, “controls” and“references”. Then, the operational server 100 categorizes each of theoperational control components into 4 types (=2×2) of operation models.

FIG. 6A illustrates an operation model A. The operation model A is anoperation model in which the “control” is performed on the “server”. The“control on the “server” is described below as being referred to as a“server control”.

FIG. 6B illustrates an operation model B. The operation model B is anoperation model in which the “reference” is made to the “server”. The“reference to the “server” is described below as being referred to as a“server reference”.

FIG. 6C illustrates an operation model C. The operation model C is anoperation model in which the “control” is performed on the “resource.”The “control” on the “resource” is described below as being referred toas a “resource control”.

FIG. 6D illustrates an operation model D. The operation model D is anoperation model in which the “reference” is made to the “resource”. The“reference” to the “resource” is described below as being referred to asa “resource reference.”

FIG. 7 is a diagram illustrating an example of a procedure fordetermining the possibility of the parallel execution. When the workflowis executed, there is a possibility that the state of the control targetwill change with the passage of time, and, in some cases, the state ofthe control target is indefinite. In a case where there is arelationship to the control target and the state of the control targetis indefinite, when the parallel execution takes place, there is apossibility that the workflow will not operate correctly. For thisreason, the operational server 100 takes into consideration arelationship between the server that is the control target and theresource, and the state at the time of the determination whendetermining the possibility of the parallel execution.

The operational server 100 stores information on the operation modelthat results from taking into consideration the hierarchicalrelationship to the control target and the state of the control target(and another target that has a hierarchical relationship to the controltarget), and information on determination criterion for the possibilityof the parallel execution that is based on the operation model. Based onthe information on the operation model and the information on thedetermination criterion, the operational server 100 determines thepossibility of the parallel execution of the operational controlcomponents.

Pieces of information on the determination criterion include pieces ofinformation on a first determination criterion 31, a seconddetermination criterion 32, and a third determination criterion 33. Thefirst determination criterion 31 is a criterion for determining thepossibility of the parallel execution of the operational controlcomponents based on a structure of the operation model. The firstdetermination criterion 31 include a determination criterion inaccordance with relationships among the operation models that areillustrated in FIGS. 6A to 6D.

The second determination criterion 32 is a criterion for determining thepossibility of the parallel execution of the operational controlcomponents based on the structure of the operation model. The seconddetermination criterion 32 include a determination criterion inaccordance with a relationship in terms of the name of the resource orthe type of the resource. The first determination criterion 31 and thesecond determination criterion 32 can be said to be determinationcriteria for making a determination based on static information.

The third determination criterion 33 is a criterion for determining thepossibility of the parallel execution of the operational controlcomponents based on the state of the control target. In a case where itis determined from the first determination criterion 31 or the seconddetermination criterion 32 that the relationship (the hierarchicalrelationship) to the control target is present, the operational server100 checks the control target (resource) or the state of the target (theserver) that has the hierarchical relationship to the control target,and determines the possibility of the parallel execution in compliancewith the third determination criterion. The third determinationcriterion 33 can be said to be a determination criterion for making adetermination based on the dynamic information at the time of thedetermination.

FIG. 8 is a diagram illustrating an example of the first determinationcriterion. The first determination criterion 31 include information onthe determination criterion for the possibility of the parallelexecution for a preceding operation model (an operation model of thepreceding operational control component) and a following operation model(an operation model of the following operational control component).Specifically, the following pieces of information are included.

In a case where the preceding operation model is the operation model Aand the following operation model is the operation model A, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible (in the drawing, the parallel execution isdescribed as being possible in the drawings). If the names of theservers that are the control targets are the same, the parallelexecution is impossible (in the drawing, the parallel execution isdescribed as being impossible in the drawings).

In a case where the preceding operation model is the operation model B,and the following operation model is the operation model A, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible. If the names of the servers that are the controltargets are the same, the parallel execution is impossible.

In a case where the preceding operation model is the operation model C,and the following operation model is the operation model A, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible. In this case, the resource that is the controltarget in the operation model C (the preceding operational controlcomponent) and the server that is the control target in the operationmodel A (the following operational control component) can be said not tobe under the hierarchical relationship. If the names of the servers thatare the control targets are the same, the parallel execution isimpossible. In this case, the resource that is the control target in theoperation model C (the preceding operational control component) and theserver that is the control target in the operation model A (thefollowing operational control component) can be said to be under thehierarchical relationship.

In a case where the preceding operation model is the operation model D,and the following operation model is the operation model A, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible (the control targets of both of the operationalcontrol components are not under the hierarchical relationship). If thenames of the servers that are the control targets are the same, theparallel execution is impossible (the control targets of both of theoperational control components are under the hierarchical relationship).

In a case where the preceding operation model is the operation model Aand the following operation model is the operation model B, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible. If the names of the servers that are the controltargets are the same, the parallel execution is impossible.

In a case where the preceding operation model is the operation model Band the following operation model is the operation model B, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible. If the names of the servers that are the controltargets are the same, the state of the control target (the server) ischecked based on a column a (which is illustrated in FIG. 10) of thethird determination criterion 33, and the possibility of the parallelexecution is determined anew according to a result of the checking (thetarget on which this processing is performed is set to be the target forthe detailed determination).

In the case where the preceding operation model is the operation model Cand the following operation model is the operation model B, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible (the control targets of both of the operationalcontrol components are not under the hierarchical relationship). If thenames of the servers that are the control targets are the same (thecontrol targets of both of the operational control components are underthe hierarchical relationship), the state of the control target (theserver) is checked based on a column b of the third determinationcriterion 33, and the possibility of the parallel execution isdetermined anew according to a result of the checking (the target onwhich this processing is performed is set to be the target for thedetailed determination).

In a case where the preceding operation model is the operation model Dand the following operation model is the operation model B, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible (the control targets of both of the operationalcontrol components are not under the hierarchical relationship). If thenames of the servers that are the control targets are the same (thecontrol targets of both of the operational control components are underthe hierarchical relationship), the state of the control target (theserver) is checked based on a column b of the third determinationcriterion 33, and the possibility of the parallel execution isdetermined anew according to a result of the checking (the target onwhich this processing is performed is set to be the target for thedetailed determination).

In a case where the preceding operation model is the operation model Aand the following operation model is the operation model C, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible (the control targets of both of the operationalcontrol components are not under the hierarchical relationship). If thenames of the servers that are the control targets are the same, theparallel execution is impossible (the control targets of both of theoperational control components are under the hierarchical relationship).

In a case where the preceding operation model is the operation model Band the following operation model is the operation model C, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible (the control targets of both of the operationalcontrol components are not under the hierarchical relationship). If thenames of the servers that are the control targets are the same, thestate of the control target (the server) is checked based on the columnb of the third determination criterion 33, and the possibility of theparallel execution is determined anew according to a result of thechecking (the target on which this processing is performed is set to bethe target for the detailed determination).

In a case where the preceding operation model is the operation model Cand the following operation model is the operation model C, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible. If the names of the servers that are the controltargets are the same, the presence and absence of a relationship betweenthe resources that are the control targets is checked based on thesecond determination criterion 32 (which is illustrated in FIG. 9), andthe possibility of the parallel execution is determined anew accordingto a result of the checking.

In a case where the preceding operation model is the operation model Dand the following operation model is the operation model C, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible. If the names of the servers that are the controltargets are the same, the presence or absence of the relationshipbetween the resources that are the control targets is checked based onthe second determination criterion 32, and the possibility of theparallel execution is determined anew according to a result of thechecking.

In a case where the preceding operation model is the operation model Aand the following operation model is the operation model D, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible (the control targets of both of the operationalcontrol components are not under the hierarchical relationship). If thenames of the servers that are the control targets are the same, theparallel execution is impossible (the control targets of both of theoperational control components are under the hierarchical relationship).

In a case where the preceding operation model is the operation model Band the following operation model is the operation model D, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible (the control targets of both of the operationalcontrol components are not under the hierarchical relationship). If thenames of the servers that are the control targets are the same, thestate of the control target (the server) is checked based on the columnb of the third determination criterion 33, and the possibility of theparallel execution is determined anew according to a result of thechecking (the target on which this processing is performed is set to bethe target for the detailed determination).

In a case where the preceding operation model is the operation model Cand the following operation model is the operation model D, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible. If the names of the servers that are the controltargets are the same, the presence or absence of the relationshipbetween the resources that are the control targets is checked based onthe second determination criterion 32, and the possibility of theparallel execution is determined anew according to a result of thechecking.

In a case where the preceding operation model is the operation model Dand the following operation model is the operation model D, thedetermination is made as follows. If the names of the servers that arethe control targets are different from each other, the parallelexecution is possible. If the names of the servers that are the controltargets are the same, the presence or absence of the relationshipbetween the resources that are the control targets is checked based onthe second determination criterion 32, and the possibility of theparallel execution is determined anew according to a result of thechecking.

FIG. 9 is a diagram illustrating an example of the second determinationcriterion. The second determination criterion 32 include the informationon the determination criterion for the possibility of the parallelexecution of two operational control components that are determinationtargets for the possibility of the parallel execution, in accordancewith the relationship between the resources that are the controltargets. The relationship between the resources is expressed accordingto a result of comparing the name of the resource and the type of theresource. That is, the relationships between the resources arecategorized into four cases.

In a first case, in the two operational control components that are thedetermination targets for the possibility of the parallel execution, thenames of the resources that are the control targets are the same, andthe types of the resources that are the control targets are the same. Ina second case, the names of the resources that are the control targetsare different from each other, and the types of the resources that arethe control targets are the same. In a third case, the names of theresources that are the control targets are the same, and the types ofthe resource that are the control targets are different from each other.In a fourth case, the names of the resources that are the operationtargets are different from each other, and the types of the resourcesthat are the operation targets are different from each other.

At this point, as the type of the resource, the type of the resourcethat has an attribute and the type of the resource that has not theattribute are present. The attribute is information by which the typesof the resources are subcategorized for resource processing targets.When the attributes of the types of the resources are considered,whether the types of the resources are the same is determined asfollows.

First, there is a case where both of the types of the resources that arethe control targets of the preceding operational control component andthe following operational control component have attributes. In thiscase, the attributes of both of the types of the resources are compared.If the attributes are consistent with each other, the types of theresources are the same. If the attributes are not consistent with eachother, the types of the resources are different from each other.

Next, there is a case where only any one of the types of the resourcesthat are the control targets of the preceding operational controlcomponent and the following operational control component has anattribute. In this case, the attribute of the type of the resource thathas not the attribute and the attribute of the type of the resource thathas the attribute are compared. If the attributes are consistent witheach other, the types of the resources are the same. If the attributesare not consistent with each other, the types of the resources aredifferent from each other.

Additionally, there is a case where both of the types of the resourcesthat are the control targets of the preceding operational controlcomponent and the following operational control component do not haveattributes. In this case, both of the types of the resources arecompared. If both of the types of the resources are consistent with eachother, the types of the resources are the same. If both of the types ofthe resources are not consistent with each other, the types of theresources are different from each other.

The second determination criterion 32 includes the followingdetermination criterion. In a case where the names of the resources thatare the control target are the same and the types of the resources arethe same (in a first case), the determination is made as follows. If anyone of the operational control components is only the resourcereference, the control target (the resource) based on a column d of thethird determination criterion 33, and the state of the target (theserver) that has the hierarchical relationship to the control target arechecked, and the possibility of the parallel execution is determinedanew according to a result of the checking (the target on which thisprocessing is performed is set to be the target for the detaileddetermination). If any one of the operational control componentsincludes the resource control, the parallel execution is impossible.

In a case where the names of the resources that are the control targetsare different from each other and the types of the resources that arethe control targets are the same (in a second case), the determinationis made as follows. In a case where any one of the operational controlcomponents is only the resource reference, the state of the target (theserver) that has the hierarchical relationship to the control target(the resource) based on a column c of the third determination criterion33 is checked, and the possibility of the parallel execution isdetermined anew according to a result of the checking. If any one of theoperational control components includes the resource control, thecontrol target (the resource) based on the column d of the thirddetermination criterion 33, and the state of the target (the server)that has the hierarchical relationship to the control target arechecked, and the possibility of the parallel execution is determinedanew according to a result of the checking.

In a case where the names of the resources that are the control targetsare the same and the types of the resources that are the control targetsare different from each other (in a third case), the determination ismade as follows. If any one of the operational control components isonly the resource reference, the state of the target (the server) thathas the hierarchical relationship to the control target (the resource)based on the column c of the third determination criterion 33 ischecked, and the possibility of the parallel execution is determinedanew according to a result of the checking. If any one of theoperational control components includes the resource control, thecontrol target (the resource) based on the column d of the thirddetermination criterion 33, and the state of the target (the server)that has the hierarchical relationship to the control target arechecked, and the possibility of the parallel execution is determinedanew according to a result of the checking.

In a case where the names of the resources that are the operationtargets are different from each other, and the types of the resourcesthat are the operation targets are different from each other (in afourth case), the state of the target (the server) that has thehierarchical relationship to the control target (the resource) based onthe column c of the third determination criterion 33 is checked, and thepossibility of the parallel execution is determined anew according to aresult of the checking. With the second determination criterion 32, inany one of the second, third, and fourth cases, it is determined thatthe target for determination is the target for the detaileddetermination.

FIG. 10 is a diagram illustrating an example of the third determinationcriterion. The third determination criterion 33 is information thatresults from prescribing the possibility of the parallel execution inaccordance with the state of the server and the state of the resourcefor every relationship to the control target that is detected based onthe first determination criterion 31 and the second determinationcriterion 32.

Relationships “a”, “b”, “c”, and “d” are prescribed for the thirddetermination criterion 33. The relationships “a”, “b”, “c”, and “d”correspond to the “column a”, the “column b”, “the column c”, and the“column d”, respectively, which are described with the firstdetermination criterion 31 and the second determination criterion 32.

The relationship “a” is a relationship in which two operational controlcomponents make the server reference to the same server. Therelationship “b” is a relationship in which one of the two operationalcontrol components makes the server reference to the same server, andthe other performs the resource control to the same server.

The relationship “c” is a relationship in which the two operationalcontrol components make only the resource reference to differentresources on the same server. Moreover, in a case where two resourcesare different from each other in terms of at least one of the name ofthe resource and the type of the resource, both of the resources areresources that are different from each other.

The relationships “d” include a first relationship and a secondrelationship. The first relationship is a relationship in which the twooperational control components make only the resource reference to thesame resource on the same server. The second relationship is arelationship in which the resource that is each control target in twooperational control components is on the same server, the twooperational control components are the same in terms of any one of thename of the resource and the type of the resource, and at least one ofthe two operational control components performs the resource control.The third determination criterion 33 include the following criterion foreach of the relationships.

In a case where the state of the server is indefinite, both of theoperational control components are impossible to be executed in parallelfor the relationship “a”. In a case where the state of the server isother than being indefinite, both of the operational control componentsare possible to be executed in parallel for the relationship “a”.

In the case where the state of the server is indefinite, both of theoperational control components are impossible to be executed in parallelfor the relationship “b”. In the case where the state of the server isother than being indefinite, both of the operational control componentsare possible to be executed in parallel for the relationship “b”.

In the case where the state of the server is indefinite, both of theoperational control components are impossible to be executed in parallelfor the relationship “c”. In the case where the state of the server isother than being indefinite, both of the operational control componentsare possible to be executed in parallel for the relationship “c”.

In the case where the state of the server is indefinite, both of theoperational control components are impossible to be executed in parallelfor the relationship “d”. In the case where the state of the server isother than indefinite, if the resource state of the resource that is anyone of the control targets is indefinite, both of the operationalcontrol components are impossible to be executed in parallel for therelationship “d”. In the case where the state of the server is otherthan indefinite, if the resource state of the resource that is any oneof the control targets is other than indefinite, both of the operationalcontrol components are possible to be executed in parallel for therelationship “d”.

Next, a specific example of pieces of information relating to theworkflow that is included in the workflow 20, the operation model, thefirst determination criterion 31, the second determination criterion 32,and the third determination criterion 33. FIG. 11 is a diagramillustrating an example of a table. Included in the storage section 110are a workflow management table 111, an operational control componentdefinition table 112, a variable management table 113, an instancemanagement table 114, an operation model definition table 115, anoperation model state management table 116, a state transitiondefinition table 117, a parallel execution determination criteriondefinition table 118, a server state management table 119, and aresource state management table 120.

The workflow management table 111 lists multiple pieces of workflowmanagement information that include the workflow 20. The workflowmanagement table 111, for example, includes pieces of information forexample, an operational control component name that is included in theworkflow 20, the order in which the operational control components areexecuted, a variable name of a variable that is used in the operationalcontrol component, and the like.

The operational control component definition table 112 lists pieces ofmanagement information on the operational control components. Theoperational control component definition table 112, for example,includes pieces of information such as the operational control componentname, the control target, the control content, the type of the resourcethat is the control target, and the like.

The variable management table 113 lists pieces of management informationon variable values, each of which is set for a variable for theoperational control component. The instance management table 114 listspieces of management information on the workflow that is currently inexecution (which is also referred to as an instance of the workflow).The instance management table 114, for example, includes pieces ofinformation indicating the operational control components that are inexecution in the workflow.

The operation model definition table 115 lists pieces of operation modeldefinition information. The operation model state management table 116lists pieces of information for managing the state of the operationmodel (the state of each of the control targets in each of theworkflows). Moreover, pieces of information on the states of the controltargets (the server and the resource) are also stored in the storagesection 110 in advance (which will be described below in detail).

The state transition definition table 117 lists pieces of informationfor defining state transition of the control target (the server and theresource) due to the execution of the operational control component. Theparallel execution determination criterion definition table 118 listspieces of information for defining the first determination criterion 31,the second determination criterion 32, and the third determinationcriterion 33.

The server state management table 119 lists pieces of information formanaging the state of the server that is the control target. Theresource state management table 120 lists pieces of information formanaging the state of the resource that is the control target.

FIG. 12 is a diagram illustrating an example of a workflow managementtable. The workflow management table 111 includes items for a workflownumber, a component number, the operational control component name, thename of the server, the name of the resource, the operation model, and anumber of the next component.

A number (the workflow number) for identifying the workflow isregistered in the item for the workflow number. For example, theworkflow number of the workflow 20 is “1”. A number (the componentnumber) that is attached to the operational control component which isincluded in the workflow is registered in the item for the componentnumber. The component number is unique to the workflow number. A name(the operational control component name) for identifying the operationalcontrol component is registered in the item for the operational controlcomponent. The name of the server for designating the server that is thecontrol target is registered in the item for the name of the server. Thevariable name for designating the resource that is the control target isregistered in the item for the name of the resource. Informationindicating the operation model is registered in the item for theoperation model. A component number (a number of a component thatbelongs to the same workflow) of the operational control component thatis to be executed next is registered in the item for the number of thenext component.

Moreover, for an operational control component that is equivalent to“Start” indicating starting of the workflow or “End” indicating endingof the workflow, the name of the server, the name of the resource, andthe operation model are assigned no-setting “-” (a hyphen). Furthermore,in a case where the control target is the server and is not theresource, the name of the resource is assigned no-setting “-”.Additionally, in a case where the control target is the resource, theresource is realized on the server, both of the name of the server andthe name of the resource are registered. For the operational controlcomponent that is equivalent to “End”, the number of the next componentis assigned no-setting “-”. For example, the following pieces ofinformation are registered in the workflow management table 111.

In an example in the first row in FIG. 12, “1”, “0”, “Start”, “-”, “-”,“-”, and “1” are registered as pieces of information on the workflownumber, the component number, the operational control component name,the name of the server, the name of the resource, the operation model,and the number of the next component, respectively. This indicates thatthe operational control component is an operational control componentindicating starting of the workflow 20. According to the correspondingrecord, the operational control that is to be executed next is for theoperational control component 21 (of which the operational controlcomponent name is “OS restarting”) that corresponds to the componentnumber “1” in the workflow number “1”.

In an example in the second row in FIG. 12, “1”, “1”, “OS restarting”,“variable 1”, “-”, “A”, and “2” are registered as pieces of informationon the workflow number, the component number, the operational controlcomponent name, the name of the server, the name of the resource, theoperation model, and the number of the next component, respectively.This indicates the operational control component 21. In the operationalcontrol component 21, “variable 1” is used for designation of the nameof the server. Because the control content of the operational controlcomponent 21 is the server control, the name of the resource may not bedesignated, and the item for the name of the resource is assignedno-setting “-”. Furthermore, because the control content of theoperational control component 21 is the server control, the operationmodel is “A”. The operational control component that is to be executed,subsequent to the operational control component 21, is the operationalcontrol component 22 (of which the operational control component name is“checking of activation of the server) that corresponds to the componentnumber 2 in the workflow number “1”. Information on the operationalcontrol component 22 is registered in the workflow management table 111,in the same manner as in the operational control component 21 (therecord containing the workflow number “1” and the component number “2”).

In an example in the third row, “1”, “3”, “checking of activation of theservice”, “variable 1”, “variable 2”, “D”, and “4” are registered aspieces of information on the workflow number, the component number, theoperational control component name, the name of the server, the name ofthe resource, the operation model, and the number of the next component,respectively. This indicates the operational control component 23. Inthe operational control component 23, “variable 1” is used fordesignation of the name of the server. In the operational controlcomponent 23, “variable 2” is used for designation of the name of theresource. Because the control content of the operational controlcomponent 23 is the resource reference, the operation model is D. Theoperational control component that is to be executed, subsequent to theoperational control component 23, is the operational control component24 (of which the operational control component name is “creation of anaccount”) that corresponds to the component number “4” in the workflow“1”.

For the operational control components 22, 24, 25, 26, and 27, the samepieces of information as those in the operational control components 21and 23 are registered in the workflow management table 111. Furthermore,for other workflows (for example, a workflow number “2”) definitions canbe imposed in the same manner.

FIG. 13 is a diagram illustrating an example of the operational controlcomponent definition table. The operational control component definitiontable 112 includes items for the operational control component name, thecontrol target, the control content, and a target type. The operationalcontrol component name is registered in the item for the operationalcontrol component name. Information indicating the control target isregistered in the item for the control target. Information indicatingthe control content is registered in the item for the control content.In a case where the control target is the “resource”, informationindicating a type of the resource (a resource type) is registered in theitem for the target type. Moreover, in a case where the control targetis the “server”, the item for the target type is assigned no-setting“-”.

For example, the following pieces of information are registered in theoperational control component definition table 112. In an example in thefirst row, “OS restarting”, “server”, “control”, and “-” are registeredas pieces of information on the operational control component name, thecontrol target, the control content, and the type of the target type,respectively. This indicates that the control target of the operationalcontrol component that is indicated by the operational control componentname “OS restarting” is the server and that the control content is thecontrol (that is, the server control). Furthermore, because the controltarget is the server, the target type is no-setting “-”.

In an example in the second row, “checking of activation of a server”,“server”, “reference”, and “-” are registered as pieces of informationon the operational control component name, the control target, thecontrol content, and the target type, respectively. This indicates thatthe control target of the operational control component that isindicated by the operational control component name “checking ofactivation of a server” is the server and that the control content isthe reference (that is, the server reference). Furthermore, because thecontrol target is the server, the target type is no-setting “-”.

In an example in the third row, “checking of activation of a service”,“resource”, “reference”, and “Service.Account” are registered as piecesof information on the operational control component name, the controltarget, the control content, and the target type, respectively. Thisindicates that the control target of the operational control componentthat is indicated by the operational control component name “checking ofactivation of a service” is the resource, that the control content isthe reference (that is, the resource reference). Furthermore, thatindicates that the resource type of the control target is“Service.Account”. Moreover, in a case where the type of the resourceincludes a period “.” when the type of the resource is expressed, aportion in front of the period “.” indicates the type of the resource,and a portion in rear of the period “.” indicates the attribute. In anexample of “Service.Account”, “Service” is designated as the type of theresource, and “Account” is designated as the attribute.

In an example in the fourth row, “creation of account”, “resource”,“control”, and “Account” are registered as pieces of information on theoperational control component name, the control target, the controlcontent, and the target type, respectively. This indicates that thecontrol target of the operational control component that is indicated bythe operational control component name “creation of an account” is theresource and that the control content is the control (that is, theresource control). Furthermore, that indicates that the type of theresource that is the control target is “Account”.

Pieces of information on other operational control component informationare also registered, in the same manner as in the operational controlcomponent definition table 112. FIG. 14 is a diagram illustrating anexample of a variable management table. The variable management table113 includes items for an instance number, the workflow number, avariable name, and a variable value.

A number (the instance number) for identifying the instance of theworkflow is registered in the item for the instance number. The workflownumber is registered in the item for the workflow number. The variablename is registered in the item for the variable name. The variable valuethat is substituted for a variable which is indicated by the variablename is registered in the item for the variable value.

For example, “1”, “1”, “variable 1”, and “X” are registered as pieces ofinformation on the instance number, the workflow number, the variablename, and the variable value, in the variable management table 113. Thisindicates that an instance number “1” is given to an instance of theworkflow 20 (the workflow number “1”), and indicates that, for theinstance of the workflow 20, a variable value “X” is substituted for avariable of the variable name “variable 1”. In this case, the variablevalue “X” is information that is equivalent to the name of the server.Other values and variable values that are used for the instance of theworkflow 20 are also registered, in the same manner, in the variablemanagement table 113. Values and variable values that are used forinstances of workflows other than the workflow 20 are also registered,in the same manner, in the variable management table 113.

FIG. 15 is a diagram illustrating an example of an instance managementtable. The instance management table 114 includes items for the instancenumber, the workflow number, a current component number, and a state.

The instance number is registered in the item for the instance number.The workflow number is registered in the item for the workflow number.The component number of the operational control component that is thenext execution target is registered in the item for the currentcomponent number. Information indicating whether the workflow is inexecution is registered in the item for the workflow.

For example, “1”, “1”, “1”, and “in execution” are registered as piecesof information on the instance number, the workflow number, the currentcomponent number, and the state, respectively, in the instancemanagement table 114. This indicates that the workflow 20 is inexecution, and that, among the multiple operational control componentsthat are included in the workflow 20, the next execution target is theoperational control component 21 (which corresponds to the componentnumber “1” in the workflow number “1”). For instances of otherworkflows, pieces of information are also registered in the instancemanagement table 114.

FIG. 16 is a diagram illustrating an example of an operation modeldefinition table. The operation model definition table 115 includesitems for the control target, the control content, and the operationmodel. Information indicating the control target is registered in theitem for the control target. Information indicating the control contentis registered in the item for the control content. Identificationinformation on the operation model is registered in the item for theoperation model.

For example, pieces of information, “server”, “control”, and “A” areregistered, as the control target, the control content, and theoperation model, in the operation model definition table 115. Thisindicates that the operational control components which perform theserver control are categorized as the operation model A.

Furthermore, pieces of information, “server”, “reference”, and “B” areregistered, as the control target, the control content, and theoperation model, in the operation model definition table 115. Thisindicates that the operational control components which makes the serverreference are categorized as the operation model B.

Furthermore, pieces of information, “resource”, “control”, and “C” areregistered, as the control target, the control content, and theoperation model, in the operation model definition table 115. Thisindicates that the operational control component which performs theresource control are categorized as the operation model C.

Furthermore, pieces of information, “resource”, “reference”, and “D” areregistered, as the control target, the control content, and theoperation model, in the operation model definition table 115. Thisindicates that the operational control component which performs theresource reference are categorized as the operation model D.

FIG. 17 is a diagram illustrating an example of an operation model statemanagement table. The operation model state management table 116includes items for a number, the instance number, the workflow number,the component number, the resource name, the type of the resource, thestate of the resource, the name of server, the state of the server, theoperation model, and a post-improvement next-component number.

The number for identifying a record is registered in the item for thenumber. The instance number is registered in the item for the instancenumber. The workflow number is registered in the item for the workflownumber. The component number is registered in the item for the componentnumber. The resource name is registered in the item for the resourcename. The type of the resource (the resource type) is registered in theitem for the type of the resource. The state of the resource (theresource state) is registered in the item for the state of the resource.The name of the server is registered in the item for the name of theserver. The state of the server (the server state) is registered in theitem for the state of the server. The operation model is registered inthe item for the operation model. The component number of theoperational control component that is to be executed next in a casewhere the result of the determination of the possibility of the parallelexecution is reflected is registered in the item for thepost-improvement next-component number.

For example, the following pieces of information are registered in theoperation model state management table 116. In an example in the firstrow, “1”, “1”, “1”, “0”, “-”, “-”, “-”, “-”, “-”, “-”, and “1” areregistered as pieces of information on the number, the instance number,the workflow number, the component number, the resource name, the typeof the resource, the state of the resource, the name of the server, thestate of the server, the operation model, and the post-improvementnext-component number, respectively.

This indicates the operational control component that is equivalent to“Start” in the workflow 20. Because the starting of the workflow issimply indicated, the operational control component that corresponds to“Start” does not have the control target or the control content. Forthis reason, the categorization as any one of the operation models isnot performed. The determination of the possibility of the parallelexecution may not be made for the operational control component thatcorresponds to “Start”. Therefore, the post-improvement next-componentnumber remains “1”.

In an example in the second row, “2”, “1”, “1”, “1”, “-”, “-”, “-”, “X”,“indefinite”, “A”, and “2” are registered as pieces of information onthe number, the instance number, the workflow number, the componentnumber, the resource name, the type of the resource, the state of theresource, the name of the server, the state of the server, the operationmodel, and the post-improvement next-component number, respectively.

This indicates a state immediately after the execution of theoperational control component 21 in the workflow 20. That indicates thatthe operational control component 21 is categorized as the operationmodel “A”, and the name of the server that is the control target is “X”,and that the state of the server is “indefinite” in a stage prior to theexecution of the next operational control component immediately afterthe execution of the operational control component 21. Because theoperation model “A” is equivalent to the server control, the items forthe name of the resource, the type of the resource, and the state of theresource are assigned no-setting “-”. Additionally, this indicates that,in the stage prior to the execution of the next operational controlcomponent immediately after the execution of the operational controlcomponent 21, as a result of the determining the possibility of theparallel execution of the next and succeeding operational controlcomponents, the next component number (the post-improvementnext-component number) is “2” (the operational control component 22).The fact that the next component number is 1 means that it is determinedthat the parallel execution of the operational control components 22 and23 is impossible.

In an example in the third row, “3”, “1”, “1”, “2”, “-”, “-”, “-”, “X”,“ON”, “B”, and “3” are registered as pieces of information on thenumber, the instance number, the workflow number, the component number,the resource name, the type of the resource, the state of the resource,the name of the server, the state of the server, the operation model,and the post-improvement next-component number, respectively.

This indicates the state immediately after the execution of theoperational control component 22 in the workflow 20. When theoperational control component 22 is categorized as the operation model“B”, and the name of the server that is the control target is “X”, thisindicates that the state of the server is “ON” in the stage prior to theexecution of the next operational control component immediately afterthe execution of the operational control component 22. Because theoperation model “B” is equivalent to the server reference, the items forthe name of the resource, the type of the resource, and the state of theresource are assigned no-setting “-”. Additionally, this indicates that,in the stage prior to the execution of the next operational controlcomponent immediately after the execution of the operational controlcomponent 22, as a result of the determining the possibility of theparallel execution of the next and succeeding operational controlcomponents, the next component number (the post-improvementnext-component number) is “3” (the operational control component 23).This case also means that, in the same manner as in the record with thenumber 2, it is determined that the parallel execution of theoperational control components 23 and 24 is impossible.

In an example in the fourth row, “4”, “1”, “1”, “3”, “S”,“Service.Account”, “START”, “X”, “ON”, “D”, and “4” are registered aspieces of information on the number, the instance number, the workflownumber, the component number, the resource name, the type of theresource, the state of the resource, the name of the server, the stateof the server, the operation model, and the post-improvementnext-component number, respectively.

This indicates the state immediately after the execution of theoperational control component 23 in the workflow 20. Furthermore, thatindicates that the operational control component 23 is categorized asthe operation model “D”, that the name of the resource which is thecontrol target is “S”, that the type of the resource is“Service.Account”, and that the name of the server which is the controltarget is “X”. At this point, for example, the name of the resource “S”is an identifier indicating the service, and the type of the resource“Service.Account” is the service for managing account management.Furthermore, that indicates that, in the stage prior to the execution ofthe next operational control component immediately after the executionof the operational control component 23, the state of the resource is“START” (the activation is in progress), and the state of the server is“ON”. Additionally, this indicates that, in the stage prior to theexecution of the next operational control component immediately afterthe execution of the operational control component 23, as a result ofthe determining the possibility of the parallel execution of the nextand succeeding operational control components, the next component number(the post-improvement next-component number) is “4” (the operationalcontrol component 24). This case also means that, in the same manner asin the record with the number 2, it is determined that the parallelexecution of the operational control components 24 and 25 is impossible.

In an example in the fifth row, “5”, “1”, “1”, “4”, “Ac”, “Account”,“EXIST”, “X”, “ON”, “C”, and “5, 6” are registered as pieces ofinformation on the number, the instance number, the workflow number, thecomponent number, the resource name, the type of the resource, the stateof the resource, the name of the server, the state of the server, theoperation model, and the post-improvement next-component number,respectively.

This indicates the state immediately after the execution of theoperational control component 24 in the workflow 20. Furthermore, thatindicates that the operational control component 24 is categorized asthe operation model “C”, that the name of the resource which is thecontrol target is “Ac”, that the type of the resource is “Account”, andthat the name of the server which is the control target is “X”. At thispoint, the name of the resource “Ac” is an identifier indicating theaccount, and the type of the resource “Account” is account information.Furthermore, that indicates that, in the stage prior to the execution ofthe next operational control component immediately after the executionof the operational control component 24, the state of the resource is“EXIST”, (the account information is present) and the state of theserver is “ON”. Additionally, that indicates that, in the stage prior tothe execution of the next operational control component immediatelyafter the execution of the operational control component 24, as a resultof the determining the possibility of the parallel execution of the nextand succeeding operational control components, the next componentnumbers (the post-improvement next-component numbers) are “5, 6” (theoperational control component 25 and 26). That is, it is meant that itis determined that, immediately prior to the execution of theoperational control component 25, the parallel execution of theoperational control components 25 and 26 is possible.

For the operational control component 25 (which corresponds to acomponent number “5” in the workflow number “1”) and the operationalcontrol component 26 (which corresponds to a component number “6” in theworkflow number “1”), the same pieces of information are registered inthe operation model state management table 116. Because the operationalcontrol components 25 and 26 are executed in parallel, a componentnumber “7” (the operational control component 27) is set to be in anyone of the items for the post-improvement next-component number.Furthermore, states relating to other instances are also registered, inthe same manner, in the operation model state management table 116.

At this point, the operational server 100 retains, in advance,information (state information) on a state where the resource or theserver can be taken. Then, an example of the state information isdescribed. FIG. 18 is a diagram illustrating an example of a definitionof an attribute of the type of the resource, and an example of a statetype. The state information 116 a is information indicating acorrespondence between the type of the resource, and the attribute andstate of the type of the resource. The state information 116 a (of whichan illustration is omitted in FIG. 11) is stored in advance in thestorage section 110. Pieced of state information 116 a includes itemsfor the type of the resource, and for the attribute and state of thetype of the resource.

The name of the type of the resource is registered in the item for thetype of the resource. The name of the attribute of the type of theresource is registered in the item for the attribute of the type of theresource. At this point, the attribute of the type of the resource isinformation by which the types of the resources are subcategorized indetail. A candidate for a state for the type of the resource, or theattribute of the type of the resource is registered in the item for thestate.

For example, “File”, “File.File” (an attribute indicating that theresource which is the control target is a file), and“EXIST/NONE/indefinite” are included, as pieces of information on thetype of the resource, the attribute of the type of the resource, and thestate, respectively, in the state information 116 a. This indicatesthat, for the attribute “File.File” in the type of the resource “File”,there are three state candidates, that is, “EXIST” (a file of the targetis present), “NONE” (the file of the target is not present), and“indefinite” (whether the file of the target is present is indefinite).Moreover, in FIG. 18, like “File.File”, the attribute of the type of theresource is illustrated including the type of the resource as well, but,among portions, a portion that is handled as attribute information is aportion “File” after a period “.” as described above (this is true forothers in FIG. 18).

Furthermore, “File”, “File.Directory” (an attribute indicating that theresource which is the control target is a directory), and“EXIST/NONE/indefinite” are included, as pieces of information on thetype of the resource, the attribute of the type of the resource, and thestate, respectively, in the state information 116 a. This indicatesthat, for the attribute “File.Directory” in the type of the resource“File”, there are three state candidates, that is, “EXIST” (a directoryof the target is present), “NONE” (the directory of the target is notpresent), and “indefinite” (whether the directory of the target ispresent is indefinite).

For other attributes of the type of the resource, states are registered,in the same manner, in the state information 116 a. For example,according to the content of processing, the type of the resource“Service” can be categorized into multiple attributes, such as filemanagement (“Service.File”), event management (“Service.Event”), jobmanagement (“Service.Job”), account management (“Service.Account”),system management (“Service.System”). This is true for the type of theresource “Process”.

The type of the resource that has the attribute is described above as anexample, but the state for the type of the resource that has not theattribute is also registered in the state information 116 a. Forexample, “Event”, “-” (no-setting), and “EXIST/NONE/indefinite” areincluded, as pieces of information on the type of the resource, theattribute of the type of the resource, and the state, respectively, inthe state information 116 a. This indicates that, for the type of theresource “Event”, there are three state candidates, that is, “EXIST” (anevent of the target is present), “NONE” (the event of the target is notpresent), and “indefinite” (whether the event of the target is presentis indefinite). In addition to the type of the resource “Event”, statesfor the types of the resource, such as the types of the resources “Job”,“Account”, “System”, are registered in the state information 116 a.Furthermore, pieces of state information are also registered for othertypes of the resources (for example, “File”, “Service”, or the like).

Furthermore, in the state information 116 a, information relating to theresource is mainly described, but the operational server 100 alsoretains the same information in the state of the server. Specifically,information, that is, “ON/OFF/indefinite” is stored in advance, as thestate of the server, in the storage section 110. The state “ON”indicates that the activation of the server is in progress (the serveris powered on). The state “OFF” indicates that the server is in a stateof being stopped (the server is powered off). The state “indefinite”indicates that whether the activation of the server is in progress orthe server is in a state of being stopped.

FIG. 19 is a diagram illustrating an example of a state transitiondefinition table. The state transition definition table 117 includesitems for the operational control component name, a state of thepre-control server, a state of the post-control server, a state of thepre-control resource, and a state of the post-control resource.

The operational control component name is registered in the item for theoperational control component name. The state of the server prior to theexecution of the operational control component is registered in the itemfor the state of the pre-control server. The state of the server afterthe execution of the operational control component is registered in theitem for the state of the post-control server. The state of the resourceprior to the execution of the operational control component isregistered in the item for the state of the pre-control resource. Thestate of the resource after the execution of the operational controlcomponent is registered in the item for the state of the post-controlresource.

For example, the following pieces of information are registered in thestate transition definition table 117. In an example in the first row,“OS restarting”, “ON”, “indefinite”, “-”, and “-” are registered aspieces of information on the operational control component name, thestate of the pre-control server, the state of the post-control server,the state of the pre-control resource, and the state of the post-controlresource, respectively. This indicates that, in a case where the stateof the server prior to the execution of the operational controlcomponent (for example, the operational control component 21) of whichthe operational control component name is “OS restarting” is “ON”, thestate of the server after the execution of the operational controlcomponent is “indefinite”.

In an example in the second row, “OS restarting”, “indefinite”,“indefinite”, “-”, and “-” are registered as pieces of information onthe operational control component name, the state of the pre-controlserver, the state of the post-control server, the state of thepre-control resource, and the state of the post-control resource,respectively. This indicates that, in a case where the state of theserver prior to the execution of the operational control component (forexample, the operational control component 21) of which the operationalcontrol component name is “OS restarting” is “indefinite”, the state ofthe server after the execution of the operational control component is“indefinite”.

In an example in the third row, “checking of activation of server”,“ON”, “ON”, “-”, and “-” are registered as pieces of information on theoperational control component name, the state of the pre-control server,the state of the post-control server, the state of the pre-controlresource, and the state of the post-control resource, respectively. Thisindicates that, in a case where the state of the server prior to theexecution of the operational control component (for example, theoperational control component 22) of which the operational controlcomponent name is “checking of activation of server” is “ON”, the stateof the server after the execution of the operational control componentis “ON”.

In an example in the fourth row, “checking of activation of server”,“indefinite”, “ON”, “-”, and “-” are registered as pieces of informationon the operational control component name, the state of the pre-controlserver, the state of the post-control server, the state of thepre-control resource, and the state of the post-control resource,respectively. This indicates that, in a case where the state of theserver prior to the execution of the operational control component (forexample, the operational control component 22) of which the operationalcontrol component name is “checking of activation of server” is“indefinite”, the state of the server after the execution of theoperational control component is “ON”.

In an example in the fifth row, “checking of activation of service”,“-”, “-”, “START”, and “START” are registered as pieces of informationon the operational control component name, the state of the pre-controlserver, the state of the post-control server, the state of thepre-control resource, and the state of the post-control resource,respectively. This indicates that, in a case where the state of theresource prior to the execution of the operational control component(for example, the operational control component 23) of which theoperational control component name is “checking of activation ofservice” is “START”, the state of the resource after the execution ofthe operational control component is “START”.

In an example in the sixth row, “checking of activation of service”,“-”, “-”, “indefinite”, and “START” are registered as pieces ofinformation on the operational control component name, the state of thepre-control server, the state of the post-control server, the state ofthe pre-control resource, and the state of the post-control resource,respectively. This indicates that, in a case where the state of theresource prior to the execution of the operational control component(for example, the operational control component 23) of which theoperational control component name is “checking of activation ofservice” is “indefinite”, the state of the resource after the executionof the operational control component is “START”.

For other operational control components, in the same manner, acorrespondence between the state of the server or the resource prior toexecution of the operational control component and the state of theserver or the resource after the operational control component isregistered in advance in the state transition definition table 117.

FIG. 20 is a diagram illustrating an example of a parallel executiondetermination criterion definition table. The parallel executiondetermination criterion definition table 118 includes items for anumber, the preceding operation model, the following operation model,the same servers, different servers, the same servers/the same names ofthe resources (the same types), the same servers/the same names ofresources (different types), the same servers/different names of theresources (the same types), the same servers/different names of theresources (different types).

A number for identifying the record is registered in the item for thenumber. Information indicating the operation model of the precedingoperational control component is registered in the item for thepreceding operation model. Information indicating the operation model ofthe operational control component that follows the preceding operationalcontrol component is registered in the item for the following operationmodel. Information indicating whether the parallel execution is possiblein a case where the servers that are the control targets are the same isregistered in the item for the same servers. Information indicatingwhether the parallel execution is possible in a case where the serversthat are the control targets are different from each other is registeredin the item for the different servers. Information indicating whetherthe parallel execution is possible in a case where the server (the nameof the server) that is the control target, the name of the resource, andthe type of the resource are the same is registered in the item for thesame servers/the same names of the resources (the same types).Information indicating whether the parallel execution is possible in acase where the server that is the control target and the name of theresource are the same and the types of the resources are different fromeach other is registered in the item for the same servers/the same namesof the resources (the same types). Information indicating whether theparallel execution is possible in a case where the server that is thecontrol target and the type of the resource are the same and the namesof the resources are different from each other is registered in the itemfor the same servers/different names of the resources (the same types).Information indicating whether the parallel execution is possible in acase where the servers that are the control targets are the same and thename of the resource and the type of the resource are different fromeach other is registered in the item for the same servers/differentnames of the resources (the different types).

Moreover, an identifier of a sub-criterion for further performing thedetermination may be registered in each of the items for the sameservers, the different servers, the same servers/the same names of theresources (the same types), the same servers/the same names of theresources (the different types), the same servers/different names of theresources (the same types), the same servers/different names of theresources (the different types). The sub-criterion is information bywhich the determination criterion for the possibility of the parallelexecution in accordance with a result of checking a dynamic state forthe control target is defined (in the present example, sub-criteria J1,J2, J3, and J4 are defined in advance as described below).

For example, the following pieces of information are registered in theparallel execution determination criterion definition table 118. As afirst example, “0”, “A”, “A”, “impossible”, “possible”, “-”(no-setting), “-”, “-”, and “-” are registered as pieces of informationon the preceding operation model, the following operation model, thesame servers, the different servers, the same servers/the same names ofthe resources (the same types), the same servers/the same names of theresources (the different types), the same servers/different names of theresources (the same types), and the same servers/different names of theresources (the different types), respectively.

This indicates that it is determined that, in a case where the operationmodel of the preceding operational control component is “A” and theoperation model of the following operational control component is “A”,the parallel execution of both of the operational control components isimpossible if the servers that are the control targets are the same, andthe parallel execution of both of the operational control components ispossible if the servers that are the control targets are different fromeach other.

As a second example, “5”, “B”, “B”, “sub-criterion J1”, “possible”, “-”(no-setting), “-”, “-”, and “-” are registered as pieces of informationon the preceding operation model, the following operation model, thesame servers, the different servers, the same servers/the same names ofthe resources (the same types), the same servers/the same names of theresources (the different types), the same servers/different names of theresources (the same types), and the same servers/different names of theresources (the different types), respectively.

This indicates that, in a case where the operation model of thepreceding operational control component is “B” and the operation modelof the following operational control component is “B”, the determinationof the possibility of the parallel execution is further made in detailusing the sub-criterion J1 if the servers that are the control targetsare the same. Furthermore, that indicates that it is determined that, insuch a case, the parallel execution of both of the operational controlcomponents is possible if the servers that are the control targets aredifferent from each other.

As a third example, “6”, “B”, “C”, “sub-criterion J2”, “possible”, “-”(no-setting), “-”, “-”, and “-” are registered as pieces of informationon the preceding operation model, the following operation model, thesame servers, the different servers, the same servers/the same names ofthe resources (the same types), the same servers/the same names of theresources (the different types), the same servers/different names of theresources (the same types), and the same servers/different names of theresources (the different types), respectively.

This indicates that, in a case where the operation model of thepreceding operational control component is “B” and the operation modelof the following operational control component is “C”, the determinationof the possibility of the parallel execution is further made in detailusing the sub-criterion J2 if the servers that are the control targetsare the same. Furthermore, that indicates that it is determined that, insuch a case, the parallel execution of both of the operational controlcomponents is possible if the servers that are the control targets aredifferent from each other.

As a fourth example, “10”, “C”, “C”, “-”, “possible”, “impossible”,“sub-criterion J4”, “sub-criterion J4”, and “sub-criterion J3” areregistered as pieces of information on the preceding operation model,the following operation model, the same servers, the different servers,the same servers/the same names of the resources (the same types), thesame servers/the same names of the resources (the different types), thesame servers/different names of the resources (the same types), and thesame servers/different names of the resources (the different types),respectively.

This indicates that it is determined that, in a case where the operationmodel of the preceding operational control component is “C” and theoperation model of the following operational control component is “C”,the parallel execution of both of the operational control components ispossible if the servers that are the control targets are different fromeach other. Furthermore, that indicates that it is determined that theparallel execution is impossible if the server that is the controltarget, the name of the resource and the type of the resource are allthe same. Furthermore, that indicates that the determination of thepossibility of the parallel execution is further made in detail usingthe sub-criterion J4 if the server that is the control target and thename of the resource are the same and the types of the resources aredifferent from each other. Furthermore, that indicates that thedetermination of the possibility of the parallel execution is furthermade in detail using the sub-criterion J4 if the server that is thecontrol target and the type of the resource are the same and the namesof the resources are different from each other. Additionally, thatindicates that the determination of the possibility of the parallelexecution is further made in detail using the sub-criterion J3 if theservers are the same and the name of the resource and the type of theresource are different from each other.

For other combinations of the preceding operation model and thefollowing operation model, the determination criterion for thepossibility of the parallel execution is also registered in the samemanner in the parallel execution determination criterion definitiontable 118. FIG. 21 is a diagram illustrating an example of asub-criterion definition table. Along with the parallel executiondetermination criterion definition table 118, a sub-criterion definitiontable 118 a lists pieces of information that are used for thedetermination of the possibility of the parallel execution. Thesub-criterion definition table 118 a (of which an illustration isomitted in FIG. 11) is stored in advance in the storage section 110. Thesub-criterion definition table 118 a includes items for a sub-criterionidentifier (ID), a state of a target server, a state of a targetresource, and availability or non-availability of the parallelexecution.

Identification information on the sub-criterion ID is registered in theitem for the sub-criterion ID. The state of the target server isregistered in the item for the state of the target server. The state ofthe target resource is registered in the item for the state of thetarget resource. Information indicating whether the parallel executionis possible is registered in the item for the availability ornon-availability of the parallel execution.

For example, the next information is registered in the sub-criteriondefinition table 118 a. As a first example, “sub-criterion J1”,“indefinite”, “-” (no-setting), and “impossible” are registered aspieces of information on the sub-criterion ID, the state of the targetserver, the state of the target resource, and the availability ornon-availability of the parallel execution, respectively. This indicatesthat it is determined with the sub-criterion J1 that the parallelexecution of the preceding and following operational control componentsis impossible if the state of the target server is indefinite.

As a second example, “sub-criterion J1”, “other than indefinite”, “-”,and “possible” are registered as pieces of information on thesub-criterion ID, the state of the target server, the state of thetarget resource, and the availability or non-availability of theparallel execution, respectively. This indicates that it is determinedwith the sub-criterion J1 that the parallel execution of the precedingand following operational control components is possible if the state ofthe target server is other than indefinite.

As a third example, “sub-criterion J2”, “indefinite”, “-”, and“impossible” are registered as pieces of information on thesub-criterion ID, the state of the target server, the state of thetarget resource, and the availability or non-availability of theparallel execution, respectively. This indicates that it is determinedwith the sub-criterion J2 that the parallel execution of the precedingand following operational control components is impossible if the stateof the target server is indefinite.

As a fourth example, “sub-criterion J2”, “other than indefinite”, “-”,and “possible” are registered as pieces of information on thesub-criterion ID, the state of the target server, the state of thetarget resource, and the availability or non-availability of theparallel execution, respectively. This indicates that it is determinedwith the sub-criterion J2 that the parallel execution of the precedingand following operational control components is possible if the state ofthe target server is other than indefinite.

As a fifth example, “sub-criterion J3”, “indefinite”, “-”, and“impossible” are registered as pieces of information on thesub-criterion ID, the state of the target server, the state of thetarget resource, and the availability or non-availability of theparallel execution, respectively. This indicates that it is determinedwith the sub-criterion J3 that the parallel execution of the precedingand following operational control components is impossible if the stateof the target server is indefinite.

As a sixth example, “sub-criterion J3”, “other than indefinite”, “-”,and “possible” are registered as pieces of information on thesub-criterion ID, the state of the target server, the state of thetarget resource, and the availability or non-availability of theparallel execution, respectively. This indicates that it is determinedwith the sub-criterion J3 that the parallel execution of the precedingand following operational control components is possible if the state ofthe target server is other than indefinite.

As a seventh example, “sub-criterion J4”, “indefinite”, “-”, and“impossible” are registered as pieces of information on thesub-criterion ID, the state of the target server, the state of thetarget resource, and the availability or non-availability of theparallel execution, respectively. This indicates that it is determinedwith the sub-criterion J4 that the parallel execution of the precedingand following operational control components is impossible if the stateof the target server is indefinite.

As an eighth example, “sub-criterion J4”, “other than indefinite”,“indefinite”, and “impossible” are registered as pieces of informationon the sub-criterion ID, the state of the target server, the state ofthe target resource, and the availability or non-availability of theparallel execution, respectively. This indicates that it is determinedwith the sub-criterion J4 that the parallel execution of the precedingand following operational control components is impossible if the stateof the target server is other than indefinite and the state of thetarget resource is indefinite.

As a ninth example, “sub-criterion J4”, “other than indefinite”, “otherthan indefinite”, and “possible” are registered as pieces of informationon the sub-criterion ID, the state of the target server, the state ofthe target resource, and the availability or non-availability of theparallel execution, respectively. This indicates that it is determinedwith the sub-criterion J4 that the parallel execution of the precedingand following operational control components is possible if any one ofthe state of the target server and the state of the target resource isother than indefinite.

The operational server 100 determines the possibility of the parallelexecution based on the parallel execution determination criteriondefinition table 118 and the sub-criterion definition table 118 a, andthus makes a determination using the first determination criterion 31,the second determination criterion 32, and the third determinationcriterion 33. That is, it can be considered that the parallel executiondetermination criterion definition table 118 and the sub-criteriondefinition table 118 a are specific structures for embedding the firstdetermination criterion 31, the second determination criterion 32, andthe third determination criterion 33 in the operational server 100.Additionally, it can be said that, in the parallel executiondetermination criterion definition table 118, the sub-criterion ID isinformation indicating a correspondence to the target for the detaileddetermination of the possibility of the parallel execution. Anindication that, in a case where the sub-criterion ID is not set, thereis no correspondence to the target for the detailed determination of thepossibility of the parallel execution is given.

Moreover, the sub-criterion definition table 118 a is additionally addedto the parallel execution determination criterion definition table 118,and pieces of information of the sub-criterion definition table 118 amay be included in the parallel execution determination criteriondefinition table 118. In a case where the pieces of information of thesub-criterion definition table 118 a are included in the parallelexecution determination criterion definition table 118, thesub-criterion definition table 118 a may not be provided.

FIG. 22 is a diagram illustrating an example of a server statemanagement table. The server state management table 119 includes itemsfor a number, the instance number, the workflow number, the name of theserver, and a state. A number for identifying the record is registeredin the item for the number. The instance number is registered in theitem for the instance number. The workflow number is registered in theitem for the workflow number. The name of the server of the controltarget is registered in the item for the name of the server. Informationindicating the state of the server is registered in the item for thestate.

For example, “1”, “1”, “1”, “X”, and “indefinite” are registered, aspieces of information on the number, the instance number, the workflownumber, the name of the server, and the state, in the server statemanagement table 119. This indicates that, in a stage where the workflow20 is in execution, the state of the server that is the control targetand of which the server name is “X” is indefinite.

States of other servers are also registered in the same manner in theserver state management table 119. If, in a certain instance, there aremultiple servers that are the control targets, the record for each ofthe multiple servers is created in the server state management table119.

FIG. 23 is a diagram illustrating an example of a resource statemanagement table. The resource state management table 120 includes itemsfor a number, the instance number, the workflow number, the name of theserver, the name of the resource, and a state.

A number for identifying the record is registered in the item for thenumber. The instance number is registered in the item for the instancenumber. The workflow number is registered in the item for the workflownumber. The name of the server of the control target is registered inthe item for the name of the server. The name of the resource of thecontrol target is registered in the item for the name of the resource.The state of the resource is registered in the item for the state.

For example, the following pieces of information are registered in theresource state management table 120. As a first example, “1”, “1”, “1”,“X”, “S”, and “indefinite” are registered as pieces of information onthe number, the instance number, the workflow number, the name of theserver, the name of the resource, and the state, respectively. Thisindicates that, in a stage where the workflow 20 is in execution, thestate of the resource that is the control target and of which theresource name is “S” is indefinite.

As a second example, “2”, “1”, “1”, “X”, “Ac”, and “indefinite” areregistered as pieces of information on the number, the instance number,the workflow number, the name of the server, the name of the resource,and the state, respectively. This indicates that, in a stage where theworkflow 20 is in execution, the state of the resource that is thecontrol target and of which the resource name is “Ac” is indefinite.

States of other resources are registered in the same manner in theresource state management table 120. If, in a certain instance, thereare multiple resources that are the control targets, the record for eachof the multiple resources is created in the resource state managementtable 120.

Next, a specific procedure for processing by the operational server 100is described. A case where the workflow 20 is executed will be describedbelow as an example, but the operational server 100 executes otherworkflows in the same procedure.

FIG. 24 is a flowchart illustrating an execution example of theworkflow. Processing that is illustrated in FIG. 24 will be describedbelow in order of increasing a step number.

(S1) The control section 130 receives an instruction for starting theexecution of the workflow 20 (the workflow number “1”). Thus, thecontrol section 130 selects the operation model of each of theoperational control components that are included in the workflow 20. Thecontrol section 130 specifies information on each of the operationalcontrol components that are included in the workflow 20 or informationon a variable that is used for the execution is specified, based on theworkflow management table 111, the operational control componentdefinition table 112, and the variable management table 113. Inaccordance with the starting of the execution of the workflow 20, thecontrol section 130 registers a record to which a new instance number isgiven, in the instance management table 114. Furthermore, the controlsection 130 makes a selection of the operation model for the specifiedoperational control component, based on the operation model definitiontable 115.

(S2) For the operation model selected for each of the operationalcontrol components, the control section 130 generates information on anintermediate form (which is also referred to as an interpreter) of theoperation model. The intermediate form of the operation model isinformation for managing an operation model state (for example, thestate of the server or the resource that is the control target), and isinitial information that is registered in the operation model statemanagement table 116 in relation to the workflow 20.

(S3) The control section 130 determines whether the operational controlcomponent to execute is present in the workflow 20, referring to theworkflow management table 111. In a case where the operational controlcomponent to execute is present, the processing proceeds to Step S4. Ina case where the operational control component to execute is notpresent, the processing is ended. The determination is made for theoperational control component currently on focus. For example, theoperational control component that is a determination target when StepS3 is initially performed is the operational control component that isequivalent to “Start”, and the operational control component that is thedetermination target when Step S3 is next performed is defined as theoperational control component 21. Moreover, in a case where theoperational control component that is the determination target is theoperational control component that is equivalent to “Start”, subsequentSteps S4 to S7 may be skipped and Step S8 may be performed.

(S4) For the operational control component, the control section 130acquires the states of the server and the resource that are the controltargets, and updates the states of the server and the resource that aremanaged by the server state management table 119 and the resource statemanagement table 120.

(S5) Based on the results of updating the states of the server and theresource in the server state management table 119 and the resource statemanagement table 120, the control section 130 updates the information onthe operation model. Specifically, the control section 130 updatessetting values of the state of the server and the state of the resourcein the operation model state management table 116.

(S6) Based on the operation model state management table 116, theparallel execution determination criterion definition table 118, and thesub-criterion definition table 118 a, the control section 130 calculatesthe possibility of the parallel execution of an operational controlcomponent that is to be executed next and the operational controlcomponent that follows the operational control component.

(S7) Based on the result of calculating the possibility of the parallelexecution in Step S6, the execution section 140 causes serial executionor the parallel execution of the operational control components to takeplace.

(S8) The control section 130 turns to the next operational controlcomponent in the workflow 20. Then, the processing proceeds to Step S3.Moreover, in a case where the current operational control component isthe operational control component that is equivalent to “End”, the nextoperational control component is not present. In this case, the controlsection 130 caused the processing to proceed to Step S3 and performsStep S3. As a result, in a case where it is determined in Step S3 thatthe operational control component to execute is not present, theexecution of the workflow 20 is completed.

Moreover, in Step S1, a designation of the execution target in theworkflow 20 is received. When the designation is received, the controlsection 130 adds a record for managing execution of a new instance ofthe workflow 20 to the instance management table 114, the server statemanagement table 119, and the resource state management table 120.

FIG. 25 is a flowchart illustrating an example of selection of theoperation model. Processing that is illustrated in FIG. 25 will bedescribed below in order of increasing a step number. The followingprocedure is equivalent to Step S1 in FIG. 24.

(S11) For the workflow 20, the control section 130 determines whetherthe operational control component is present, referring to the workflowmanagement table 111. In a case where the operational control componentis present, the processing proceeds to Step S12. In a case where theoperational control component is not present, the processing is ended.The determination is made for the operational control componentcurrently on focus. For example, the operational control component thatis the first determination target is an operational control componentthat is equivalent to “Start”, and the operational control componentthat is the determination target when Step S11 is next performed is theoperational control component 21. As illustrated in FIG. 25, theoperational control component that, in Step S11, is determined as beingpresent is referred to as an “operational control component on focus”.

(S12) The control section 130 acquires the control target and thecontrol content of the operational control component on focus, referringto the operational control component definition table 112. Take, forexample, the operational control component 21. “Server”, and “control”are acquired for the control target and the control content,respectively. For the operational control component that is equivalentto “Start” or “End”, no-setting “-” is acquired for the control targetor the control content.

(S13) The control section 130 selects the operation model of theoperational control component on focus for the control target and thecontrol content that are acquired in Step S12, referring to theoperation model definition table 115. According to the operation modeldefinition table 115, the operation model that corresponds to thecontrol target “server” and the control content “control” is “A”.Consequently, the control section 130 categorizes the operationalcontrol component 21 as the operation model “A”. Moreover, for theoperational control component that is equivalent to “Start” or “End”,no-setting is acquired for the control target or the control content,and “-” is also acquired for the operation model.

(S14) The control section 130 stores the operation model that isselected in Step S13, in a record for the corresponding operationalcontrol component in the workflow management table 111. For example, “A”is stored in the item for the operation model in the record for theoperational control component 21 (the workflow number “1” and thecomponent number “1”). Moreover, the control section 130 sets theoperation model to no-setting “-” for the operational control componentthat is equivalent to “Start” or “End”.

(S15) The control section 130 turns to the next operational controlcomponent in the workflow 20. Then, the processing proceeds to Step S11.Moreover, in a case where the current operational control componentcurrently on focus is the operational control component that isequivalent to “End”, the next operational control component is notpresent. In this case, the control section 130 causes the processing toproceed to Step S11 and executes Step S11. As a result, in Step S11, itis determined that the operational control component is not present, andthe selection of the operation model for each of the operational controlcomponent in the workflow 20 is completed.

FIG. 26 is a diagram illustrating a specific example of the selection ofthe operation model. For example, the control section 130 executes aprocedure for selecting the operation model in FIG. 25, on the workflow20, and thus determines the operation model for each of the operationalcontrol components 21, 22, 23, 24, 25, 26, and 27 as follows.

The operation model of the operational control component 21 is “A”. Thisis because, according to the operational control component definitiontable 112, the control target of the operational control component 21(of which the operational control component name is “checking ofactivation of server”) is “server”, and the control content is“control”.

The operation model of the operational control component 22 is “B”. Thisis because, according to the operational control component definitiontable 112, the control target of the operational control component 22(of which the operational control component name is “checking ofactivation of server”) is “server”, and the control content is“reference”.

The operation model of the operational control component 23 is “D”. Thisis because, according to the operational control component definitiontable 112, the control target of the operational control component 23(of which the operational control component name is “checking ofactivation of service”) is “resource”, and the control content is“reference”.

The operation model of the operational control component 24 is “C”. Thisis because, according to the operational control component definitiontable 112, the control target of the operational control component 24(of which the operational control component name is “creation ofaccount”) is “resource”, and the control content is “control”.

The operation model of the operational control component 25 is “D”. Thisis because, according to the operational control component definitiontable 112, the control target of the operational control component 25(of which the operational control component name is “acquisition ofaccount information”) is “resource”, and the control content is“reference”.

The operation model of the operational control component 26 is “D”. Thisis because, according to the operational control component definitiontable 112, the control target of the operational control component 26(of which the operational control component name is “checking of homedirectory of account”) is “resource”, and the control content is“reference”.

The operation model of the operational control component 27 is “C”. Thisis because, according to the operational control component definitiontable 112, the control target of the operational control component 27(of which the operational control component name is “user login”) is“resource”, and the control content is “control”.

Moreover, for the operational control component that is equivalent to“Start” or “End” in the workflow 20, no-setting “-” is acquired for theoperation model, as described above. FIG. 27 is a flowchart illustratingan example of generation of the intermediate form of the operationmodel. Processing that is illustrated in FIG. 27 will be described belowin order of increasing a step number. The following procedure isequivalent to Step S2 in FIG. 24.

(S21) For the workflow 20, the control section 130 determines whetherthe operational control component is present, referring to the workflowmanagement table 111. In the case where the operational controlcomponent is present, the processing proceeds to Step S22. In a casewhere the operational control component is not present, the processingis ended. The determination is made for the operational controlcomponent currently on focus. For example, the operational controlcomponent that is the first determination target is an operationalcontrol component that is equivalent to “Start”, and the operationalcontrol component that is the determination target when Step S21 is nextperformed is the operational control component 21. As illustrated inFIG. 27(and FIG. 28 that will be referred to below), the operationalcontrol component that, in Step S21, is determined as being present isreferred to as an “operational control component on focus.”

(S22) The control section 130 generates the intermediate form of theoperation model for the operational control component on focus. That is,the control section 130 generates a record for the operational controlcomponent, and registers the generated the record in the operation modelstate management table 116. The details will be described below.

(S23) The control section 130 turns to the next operational controlcomponent in the workflow 20. Then, the processing proceeds to Step S21.Moreover, in the case where the current operational control componentcurrently on focus is the operational control component that isequivalent to “End”, the next operational control component is notpresent. In this case, the control section 130 causes the processing toproceed to Step S21 and executes Step S21. As a result, in Step S21, itis determined that the operational control component is not present, andthe generation of the intermediate form for each operational controlcomponent in the workflow 20 is completed.

FIG. 28 is a flowchart illustrating an example of the generation(details) of the intermediate form of the operation model. Processingthat is illustrated in FIG. 28 will be described below in order ofincreasing a step number. The following procedure is equivalent to StepS22 in FIG. 27.

(S31) The control section 130 acquires the information on the operationmodel that is selected for the operational control component on focus,referring to the workflow management table 111. The control section 130newly creates a record for storing the acquired information on theoperation model, in the operation model state management table 116, andstores the information on the operation model. For example, in a casewhere the operational control component on focus is the operationalcontrol component 21, the control section 130 acquires the operationmodel A from the workflow management table 111. The control section 130creates a record (the instance number is “1”, the workflow number is“1”, and the component number is “1”) that corresponds to theoperational control component 21, in the operation model statemanagement table 116, and stores the operation model “A” in the record.In the record, the control section 130 sets an initial value of thepost-improvement next-component number to a setting value “2” of thenext component number of the operational control component 21 in theworkflow management table 111.

(S32) The control section 130 acquires a value that is to be stored in“name of server” in the operation model state management table 116 forthe operational control component on focus, referring to the workflowmanagement table 111 and the variable management table 113. For example,in the case where the operational control component on focus is theoperational control component 21, the control section 130 specifies fromthe workflow management table 111 that a variable name which isequivalent to the name of the server is “variable 1”. Then, referring tothe variable management table 113, the control section 130 specifiesthat a variable value which corresponds to “variable 1” is “X”.Moreover, in some cases, depending on the workflow, the name of theserver that is the control target of the operational control componenton focus is non-fixed in this stage, and a corresponding variable valuein the variable management table 113 is no-setting “-”. This is because,in some cases, the name of the server that is the control target isfixed in accordance with the execution of the operational controlcomponent in a stage where the workflow is in execution.

(S33) The control section 130 determines whether the name of the serveris fixed. In a case where the name of the server is fixed, theprocessing proceeds to Step S34. In a case where the name of the serveris non-fixed, the processing proceeds to Step S40. In Step S32, if anyvariable value (for example, “X” or the like) is set for a variable (forexample, “variable 1” or the like) that is equivalent to the name of theserver in the variable management table 113, the name of the server isfixed. In the variable management table 113, if the variable that isequivalent to the name of the server is no-setting “-”, the name of theserver is non-fixed.

(S34) The control section 130 stores the name of the server that isacquired in Step S32, in a record for the operational control componenton focus in the operation model state management table 116. For example,if the operational control component on focus is the operational controlcomponent 21, the name of the server “X” is stored in a record for theoperational control component 21 in the operation model state managementtable 116.

(S35) Based on the operation model that is acquired in Step S31, thecontrol section 130 determines whether the control target of theoperational control component on focus is the resource. In a case wherethe control target is not the resource, the processing proceeds to StepS36. In a case where the control target is the resource, the processingproceeds to Step S37. For example, if the operational control componenton focus is the operational control component 21, because the operationmodel is “A” and the control target is the server, No is established inStep S35 (the processing proceeds to Step S36). On the other hand, forexample, if the operational control component on focus is theoperational control component 23, because the operation model is “D” andthe control target is the resource, Yes is established in Step S35 (theprocessing proceeds to Step S37).

(S36) The control section 130 stores a value “-” indicating non-use inthe name of the resource, the type of the resource, and the state of theresource for the operational control component on focus in the operationmodel state management table 116. This is because, if the control targetis the resource (if the control target is the server), information onthe resource is not used for the determination of the possibility of theparallel execution. Then, the processing proceeds to Step S40.

(S37) The control section 130 acquires values that are to be stored in“name of resource” and “type of resource” in the operation model statemanagement table 116 for the operational control component on focus,referring to the workflow management table 111, the operational controlcomponent definition table 112, and the variable management table 113.For example, in the case where the operational control component onfocus is the operational control component 23, the control section 130specifies from the workflow management table 111 that a variable namewhich is equivalent to the name of the resource is “variable 2”. Then,referring to the variable management table 113, the control section 130specifies that a variable value which corresponds to “variable 2” is S.Furthermore, in this case, the control section 130 specifies from theoperational control component definition table 112 that the type of theresource in the operational control component 23 (“checking ofactivation of service) is “Service.Account”. Moreover, as in Step S32,in some cases, depending on the workflow, the name of the resource thatis the control target of the operational control component on focus isnon-fixed in this stage, and a corresponding variable value in thevariable management table 113 is no-setting “-”. This is because, insome cases, the name of the resource for each of the operational controlcomponents in the operation model state management table 116 is fixed inaccordance with the execution of the operational control component inthe workflow in the stage where the workflow is in execution. Then, theprocessing proceeds to Step S38.

(S38) The control section 130 determines whether the name of theresource is fixed. In a case where the name of the resource is fixed,the processing proceeds to Step S39. In a case where the name of theresource is non-fixed, the processing proceeds to Step S40. In Step S37,if any variable value (for example, “Y” or the like) is set for avariable (for example, “variable 2” or the like) that is equivalent tothe name of the resource in the variable management table 113, the nameof the resource is fixed. If, in the variable management table 113, thevariable that is equivalent to the name of the resource is no-setting“-”, the name of the server is not decided.

(S39) The control section 130 stores the name of the resource and thetype of the resource that are acquired in Step S37, in the record forthe operational control component on focus in the operation model statemanagement table 116. For example, if the operational control componenton focus is the operational control component 23, the name of theresource “S” and the type of the resource “Service.Account” are storedin the record for the operational control component 23 in the operationmodel state management table 116.

(S40) The control section 130 stores a value “indefinite” in a placewhere a value is non-fixed in the operation model in the operation modelstate management table 116. For example, in the case where theoperational control component on focus is the operational controlcomponent 21, the state of the server is non-fixed in this stage.Therefore, the state of the server in a record for the operationalcontrol component 21 in the operation model state management table 116is set to be “indefinite”. As described above, in some cases, the nameof the server is non-fixed, and in such a case, the name of the serveris set to be “indefinite”. Furthermore, for example, in the case wherethe operational control component on focus is the operational controlcomponent 23, the state of the resource is non-fixed in this stage.Therefore, the state of the resource in the record for the operationalcontrol component 23 in the operation model state management table 116is set to be “indefinite”. As described above, in some cases, the nameof the resource is non-fixed, the name of the resource is also set to be“indefinite”. The control section 130 sets items relating to the serveror the resource in the operation model state management table 116, tono-setting “-” without any change, for the operational control componentthat is equivalent to “Start” or “End”.

Moreover, the name of the server and the name of the resource aredescribed as being indefinite in some cases, referring to Steps S32,S33, S37, and S38. In this case, as also described referring to thesteps, a variable value is set to be in the variable management table113 in accordance with the execution each of the operational controlcomponent that are included in the workflow.

FIG. 29 is a diagram illustrating a specific example of the generationof the intermediate form of the operation model. The control section 130generates intermediate forms 21 a, 22 a, 23 a, 24 a, 25 a, 26 a, and 27a for the workflow 20, according to the procedure in FIG. 28.

The intermediate form 21 a is an intermediate form for the operationalcontrol component 21 (the operation model A: server control). Accordingto the workflow management table 111 and the variable management table113, the name of the server “X” is fixed in the operational controlcomponent 21 (of which the operational control component name is “OSrestarting”). Furthermore, in a stage of the generation of theintermediate form 21 a, the state of the server is non-fixed. For thisreason, in the intermediate form 21 a, the name of the server is “X”,and the state of the server is “indefinite”. Because the control targetis the server, in the operation model A, “-” indicating the non-use isregistered in the items (the name of the resource, the type of theresource, and the state of the resource) relating to the resource.

The intermediate form 22 a is an intermediate form for the operationalcontrol component 22 (the operation model B: server reference).According to the workflow management table 111 and the variablemanagement table 113, in the operational control component 22 (of whichthe operational control component name is “checking of activation of“server”), the name of the server “X” is fixed. Furthermore, in a stageof the generation of the intermediate form 22 a, the state of the serveris non-fixed. For this reason, in the intermediate form 22 a, the nameof the server is “X” and the state of the server is “indefinite”.Because, in the operation model B, the control target is the server, “-”indicating the non-use is registered in the items relating the resource.

The intermediate form 23 a is an intermediate form for the operationalcontrol component 23 (the operation model D: resource reference).According to the workflow management table 111 and the variablemanagement table 113, in the operational control component 23 (of whichthe operational control component name is “checking of activation of“service”), the name of the server “X” and the name of the resource “S”are fixed. Furthermore, according to the operational control componentdefinition table 112, in the operational control component 23, the typeof the target (the type of the resource) is “Service.Account”.Additionally, in a stage of the generation of the intermediate form 23a, the state of the server and the state of the resource are non-fixed.For this reason, in the intermediate form 23 a, the name of the serveris “X”, the state of the server is “indefinite”, the name of theresource is “S”, the type of the resource is “Service.Account”, and thestate of the resource is “indefinite”.

The intermediate form 24 a is an intermediate form for the operationalcontrol component 24 (the operation model C: resource control).According to the workflow management table 111 and the variablemanagement table 113, in the operational control component 24 (of whichthe operational control component name is “creation of account”), thename of the server “X” and the name of the resource “Ac” are fixed.Furthermore, according to the operational control component definitiontable 112, in the operational control component 24, the type of thetarget (the type of the resource) is “Account”. Additionally, in a stageof the generation of the intermediate form 24 a, the state of the serverand the state of the resource are non-fixed. For this reason, in theintermediate form 24 a, the name of the server is “X”, the state of theserver is “indefinite”, the name of the resource is “Ac”, the type ofthe resource is “Account”, and the state of the resource is“indefinite”.

The intermediate form 25 a is an intermediate form for the operationalcontrol component 25 (the operation model D: resource reference).According to the workflow management table 111 and the variablemanagement table 113, in the operational control component 25 (of whichthe operational control component name is “acquisition of accountinformation”), the name of the server “X” and the name of the resource“Ac” are fixed. Furthermore, according to the operational controlcomponent definition table 112, in the operational control component 25,the type of the target (the type of the resource) is “Account”.Additionally, in a stage of the generation of the intermediate form 25a, the state of the server and the state of the resource are non-fixed.For this reason, in the intermediate form 25 a, the name of the serveris “X”, the state of the server is “indefinite”, the name of theresource is “Ac”, the type of the resource is “Account”, and the stateof the resource is “indefinite”.

The intermediate form 26 a is an intermediate form for the operationalcontrol component 26 (the operation model D: resource reference).According to the workflow management table 111 and the variablemanagement table 113, in the operational control component 26 (of whichthe operational control component name is “checking of home directory ofaccount”), the name of the server “X” and the name of the resource “Ac”are fixed. Furthermore, according to the operational control componentdefinition table 112, in the operational control component 26, the typeof the target (the type of the resource) is “Account”. Additionally, ina stage of the generation of the intermediate form 26 a, the state ofthe server and the state of the resource are non-fixed. For this reason,in the intermediate form 26 a, the name of the server is “X”, the stateof the server is “indefinite”, the name of the resource is “Ac”, thetype of the resource is “Account”, and the state of the resource is“indefinite”.

The intermediate form 27 a is an intermediate form for the operationalcontrol component 27 (the operation model C: resource control).According to the workflow management table 111 and the variablemanagement table 113, in the operational control component 27 (of whichthe operational control component name is “user login”), the name of theserver “X” and the name of the resource “Ac” are fixed. Furthermore,according to the operational control component definition table 112, inthe operational control component 27, the type of the target (the typeof the resource) is “Account”. Additionally, in a stage of thegeneration of the intermediate form 27 a, the state of the server andthe state of the resource are non-fixed. For this reason, in theintermediate form 27 a, the name of the server is “X”, the state of theserver is “indefinite”, the name of the resource is “Ac”, the type ofthe resource is “Account”, and the state of the resource is“indefinite”.

FIG. 30 is a diagram illustrating an example of an operation model statemanagement table after the generation of the intermediate form. Anoperation model state management table 116 b is an example of theintermediate form that is illustrated in FIG. 29. In this manner, thecontrol section 130 generates information on the intermediate form ofeach of the operational control component, and registers the generatedinformation in the operation model state management table 116 b. Thecontrol section 130 manages the state of the control target that isdynamically changed in accordance with the execution of the workflow 20,based on the information on the intermediate form. Moreover, for theoperational control component that equivalent to “Start” or “End”,no-setting “-” is registered in the items for the name of the resource,the type of the resource, the state of the resource, the name of theserver, the state of the server, and the operation model.

FIG. 31 is a flowchart illustrating an example of updates states of theserver and the resource. Processing that is illustrated in FIG. 31 willbe described below in order of increasing a step number. The followingprocedure is equivalent to Step S4 in FIG. 24.

(S41) The control section 130 acquires a current position of theworkflow 20 (the instance number “1”). Specifically, the control section130 acquires the current position of the workflow 20 that is a currentcomponent number in a record containing the instance number “1” in theinstance management table 114. As described above, the component numberof the operational control component that is to be executed next isregistered in an item for the current component number in the instancemanagement table 114.

(S42) The control section 130 acquires information on the operationalcontrol component that was last executed. For example, in a case wherethe current operational control component (the current position) is theoperational control component 21, the operational control component thatwas last executed is an operational control component that is equivalentto “Start”. Furthermore, in the case where the current operationalcontrol component (the current position) is the operational controlcomponent 22, the operational control component that was last executedis the operational control component 21. Moreover, in a case where theoperational control component that was last executed is an operationalcontrol component that is equivalent to “Start”, the control section 130exceptionally ends processing of the present state update.

(S43) The control section 130 determines whether a latest-executedoperational control component is a control for the server. If thelatest-executed operational control component is the control for theserver, the processing proceeds to Step S44. If the latest-executedoperational control component is not the control for the server, theprocessing proceeds to Step S47. Specifically, in a case where thelatest-executed operational control component is categorized as theoperation model A, the operational control component is the control forthe server. Furthermore, in a case where the latest-executed operationalcontrol component is categorized as an operation model other than theoperation model A, the operational control component is not the controlfor the server.

(S44) The control section 130 acquires a current state of the serverthat is the target for the control by latest-executed operationalcontrol component, referring to the server state management table 119.That is, for the server that is the target for the control by thelatest-executed operational control component, the control section 130acquires a state that is currently set in the server state managementtable 119. For example, in a case where the latest-executed operationalcontrol component is the operational control component 21, according tothe workflow management table 111, a variable that is equivalent to thename of the server is “variable 1”. According to the variable managementtable 113, a variable value of “variable 1” is “X”. Consequently, thecontrol section 130 acquires a state that is set to be in a recordcontaining the instance number “1” and the name of the server “X” in theserver state management table 119, as the current state of the serverthat is the target for the control by the latest-executed operationalcontrol component 21.

(S45) The control section 130 acquires state change information on theserver that is the target for the control by the latest-executedoperational control component, referring to the state transitiondefinition table 117. For example, in a case where the latest-executedoperational control component is the operational control component 21(of which the operational control component name is “OS restarting),according to the state transition definition table 117, two types of thestate change information are registered. The first type indicates astate transition in which a transition from the state of the pre-controlserver “ON” to the state of the post-control server “indefinite” takesplace. The second type indicates a state transition in which atransition from the state of the pre-control server “indefinite” to thestate of the post-control server “indefinite” takes place.

(S46) The control section 130 updates the state of the server that isthe control target. Specifically, the control section 130 obtains thestate of the post-control server by applying the current state that isacquired in Step S44, to the state of the pre-control server, withrespect to the state change information that is acquired in Step S45.Take, for example, the operational control component 21 described above.Because, although the state that is acquired in Step S44 is either “ON”or “indefinite”, the state of the post-control server is “indefinite”,the state of the posit-control server is “indefinite”. However, thestate of the post-control server varies according to the state of thepre-control server. In this case, the control section 130 selects thestate of post-control server according to the state of the pre-controlserver. The control section 130 registers the state of the acquiredpost-control server in the server state management table 119. Take, forexample, the operational control component 21. A state of the recordcontaining the instance number “1” and the name of the server “X” in theserver state management table 119 is updated (in this case, if the stateof the pre-control server is “indefinite”, the state of the pre-controlserver also remains “indefinite”). Accordingly, after thelatest-executed operational control component is executed, the state ofthe server that is the control target is reflected in the server statemanagement table 119. Then, the processing is ended.

(S47) The control section 130 acquires the current state of the resourcethat is the target for the control by the latest-executed operationalcontrol component, referring to the resource state management table 120.That is, for the resource that is the target for the control by thelatest-executed operational control component, the control section 130acquires a state that is currently set in the resource state managementtable 120. For example, in the case where the latest-executedoperational control component is the operational control component 23,according to the workflow management table 111, a variable that isequivalent to the name of the server is “variable 1”, and a variablethat is equivalent to the name of the resource is “variable 2”.According to the variable management table 113, the variable value of“variable 1” is “X” and a variable value of “variable 2” is S.Consequently, the control section 130 acquires a state that is set to bein a record containing the instance number “1”, the name of the server“X”, and the name of the resource “S” in the resource state managementtable 120, as the current state of the resource that is the target forthe control by the latest-executed operational control component 23.

(S48) The control section 130 acquires state change information on theresource that is the target for the control by the latest-executedoperational control component, referring to the state transitiondefinition table 117. For example, in a case where the latest-executedoperational control component is the operational control component 23(of which the operational control component name is “checking ofactivation of service), according to the state transition definitiontable 117, two types of the state change information are registered. Thefirst type indicates a state transition in which a transition from thestate of the pre-control resource “Start” to the state of thepost-control resource “Start” takes place. The first type indicates astate transition in which a transition from the state of the pre-controlresource “indefinite” to the state of the post-control resource “Start”takes place.

(S49) The control section 130 updates the state of the resource that isthe control target. Specifically, the control section 130 obtains thestate of the post-control resource by applying the current state that isacquired in Step S47, to the state of the pre-control resource, withrespect to the state change information that is acquired in Step S48.Take, for example, the operational control component 23 described above.Because, although the state that is acquired in Step S47 is either“Start” or “indefinite”, the state of the post-control resource is“Start”. However, the state of the post-control resource variesaccording to the state of the pre-control resource. In this case, thecontrol section 130 selects the state of the post-control resourceaccording to the pre-control resource. The control section 130 registersthe state of the acquired post-control resource in the resource statemanagement table 120. Take, for example, the operational controlcomponent 23. A state of the record containing the instance number “1”and the name of the server “X”, and the name of the resource “S” in theresource state management table 120 is updated (in this case, if thestate of the pre-control server is “Start”, the state of thepost-control server also remains “Start”). Accordingly, after thelatest-executed operational control component is executed, the state ofthe resource that is the control target is reflected in the resourcestate management table 120. Then, the processing is ended.

FIG. 32 is a flowchart illustrating an example of an update of theoperation model. Processing that is illustrated in FIG. 32 will bedescribed below in order of increasing a step number. The followingprocedure is equivalent to Step S5 in FIG. 24.

(S51) The control section 130 determines whether the operational controlcomponents (the not-in-execution operational control components) thatare operational control components that are to be next and laterexecuted are present in the workflow 20, referring to the workflowmanagement table 111. In the case where the operational controlcomponent is present, the processing proceeds to Step S52. In the casewhere the operational control component is not present, the processingis ended. For example, the operational control component that is thefirst determination target after the latest-executed operational controlcomponent (for example, the operational control component that isequivalent to “Start”) is an operational control component that is to beexecuted next (for example, the operational control component 21). Theoperational control component that is the determination target when StepS51 is next performed is an operational control component (for examplethe operational control component 22) that is to be executed next. Asillustrated in FIG. 32, the operational control component that, in StepS51, is determined as being present is referred to as an “operationalcontrol component on focus”. Moreover, in a case where the operationalcontrol component that will be the next processing target is theoperational control component that is equivalent to “End”, because thesubsequent processing may not be performed, the processing is ended.

(S52) The control section 130 acquires the operation model from theoperation model state management table 116. For example, if theoperational control component on focus is the operational controlcomponent 21, a record (a record containing the instance number “1”, theworkflow number “1”, and the component number “1”) containing theoperation model “A” that corresponds to the operational controlcomponent 21 is acquired from the operation model state management table116.

(S53) The control section 130 determines whether the name of the serveris fixed, based on the workflow management table 111 and the variablemanagement table 113. In the case where the name of the server is fixed,the processing proceeds to Step S54. In a case where the name of theserver is not decided, the processing proceeds to Step S51. For example,in a case where the operational control component on focus is theoperational control component 21 (of which the operational controlcomponent name is “re-activation of server), according to the workflowmanagement table 111, a variable indicating the name of the server is“variable 1”. In the variable management table 113, the variable value“X” is set for “variable 1”. In this case, the name of the server isfixed. At this time, if the name of the server is indefinite in a recordin the operation model state management table 116, which is acquired inStep S52, a variable value that is specified in the variable managementtable 113 is set for the name of the server (the name of the server isfixed by the execution of the workflow). On the other hand, if avariable value for the variable indefinite in the variable managementtable 113, the name of the server is not fixed.

(S54) The control section 130 acquires a state that corresponds to thename of the server that is specified in Step S53, referring to theserver state management table 119. (S55) The control section 130 setsthe state that is acquired in Step S54, to be in the item for the stateof the server in the record that is acquired in Step S52, in theoperation model state management table 116. Accordingly, the state ofthe server that is the control target is updated in the operation modelstate management table 116.

(S56) The control section 130 determines whether the control target ofthe operational control component on focus is the resource. In a casewhere the control target is the resource, the processing proceeds toStep S57. In a case where the control target is not the resource, theprocessing proceeds to Step S51. If the operation model of theoperational control component on focus is “A” or “B”, the control targetis not the resource. If the operation model of the operational controlcomponent on focus is “C” or “D”, the control target is the resource.

(S57) The control section 130 acquires values that are to be stored inthe name of the resource and the type of the resource, referring to theworkflow management table 111 and the operational control componentdefinition table 112. For example, in a case where the operationalcontrol component on focus is the operational control component 23 (ofwhich the operational control component name is “checking of activationof service”), according to the workflow management table 111, a variableindicating the name of the resource is “variable 2”. In the variablemanagement table 113, the variable value “S” is set for “variable 2”.Furthermore, according to the operational control component definitiontable 112, the type of the resource that is the control target of theoperational control component 23 is “Service.Account”.

(S58) The control section 130 determines whether the name of theresource is fixed, based on the result that is acquired in Step S57. Inthe case where the name of the resource is fixed, the processingproceeds to Step S59. In the case where the name of the resource is notfixed, the processing proceeds to Step S51. For example, as described inStep S57, in a case where the name of the resource is acquired from thevariable management table 113, the name of the resource is fixed. Atthis time, if the name of the resource is indefinite in the record inthe operation model state management table 116, which is acquired inStep S52, the variable value that is specified in the variablemanagement table 113 is set for the name of the resource (the name ofthe resource is fixed by the execution of the workflow). On the otherhand, if the variable value for the variable indefinite in the variablemanagement table 113, the name of the resource is not fixed.

(S59) The control section 130 acquires a state that corresponds to thename of the resource which is specified in Step S58, referring to theresource state management table 120.

(S60) The control section 130 sets the state that is acquired in StepS59, to be in the item for the state of the resource in the record thatis acquired in Step S52, in the operation model state management table116. Accordingly, the state of the resource that is the control targetis updated in the operation model state management table 116.

(S61) The control section 130 turns to the next operational controlcomponent in the workflow 20. Then, the processing proceeds to Step S51.According to the procedure in FIG. 32, the setting values of the stateof the server or the state of the resource in the operation model statemanagement table 116 is updated for the operational control componentsthat are the operational control component which are to be next or laterexecuted.

FIG. 33 is a flowchart illustrating an example of calculation of thepossibility of the parallel execution. Processing that is illustrated inFIG. 33 will be described below in order of increasing a step number.The following procedure is equivalent to Step S6 in FIG. 24.

(S71) The control section 130 acquires a current position of theworkflow 20 (the instance number “1”). Specifically, the control section130 acquires the current position of the workflow 20 that is a currentcomponent number in a record containing the instance number “1” in theinstance management table 114. As described above, the component numberof the operational control component that is to be executed next isregistered in an item for the current component number in the instancemanagement table 114.

(S72) The control section 130 determines whether the operational controlcomponent that follows the operational control component which is to beexecuted next is present. In a case where the following operationalcontrol component is present, the processing proceeds to Step S73. In acase where the following operational control component is not present,the control section 130 instructs the execution section 140 to executethe operational control component, and ends the processing. For example,if the operational control component that is to be executed next is theoperational control component 21, the following operational controlcomponent is the operational control component 22. Moreover, in a casewhere the operational control component that is to be executed next is“End”, because the operational control component that follows “End” isnot present, the processing is ended.

(S73) The control section 130 acquires information on the operationmodel of a checking target. Specifically, the control section 130acquires an operation model state of the operational control component(for example, the operational control component 21) that is to beexecuted next, from the operation model state management table 116. Forexample, the control section 130 acquires an operation model state ofthe following operational control component (for example, theoperational control component 22 that follows the operational controlcomponent 21) from the operation model state management table 116.

(S74) The control section 130 acquires definition information (anyrecord) on the determination criterion for the possibility of theparallel execution of the operational control component that is to beexecuted next and the following operational control component, from theparallel execution determination criterion definition table 118 and thesub-criterion definition table 118 a. The control section 130 comparesdifferences between the control targets of both of the operationalcontrol components in terms of the name of the server, the name of theresource, and the types of the resource, against the determinationcriterion. If whether the names of the servers and the names of theresources are the same or different from each other is determined, thismay be satisfactory. The types of the resources may be compared asillustrated in FIG. 9.

(1) In a case where the types of the resources of both of the controltargets are designated along with the attribute, the attributes of thetypes of the resources of both of the control targets are compared. Ifthe attributes are the same, the types of the resources are the same. Ifthe attributes are different from each other, the types of the resourcesare different from each other.

(2) In a case where an attribute is designated for the type of theresource of one of the control targets and an attribute is notdesignated for the type of the resource of the other, the attribute ofthe type of the resource designated for the one of the control targetsand the attribute of the type of the resource designated for the otherare compared. If the two attributes are the same, the types of theresources are the same. If the two attributes are different from eachother, the types of the resources are different from each other.

(3) In a case where the attributes are not designated for the types ofthe resources of both of the control targets, the types of the resourcesthat are designated for both of the control targets are compared. If thedesignated types of the resources are the same, the types of theresources are the same. If the designated types of the resources aredifferent, the types of the resources are different from each other.

(S75) The control section 130 calculates whether the parallel executionof each of the operational control components that are the checkingtargets is possible, based on the definition information that isacquired in Step S74. For example, in a case where the next operationalcontrol component is the operational control component 24, the controlsection 130 determines that the parallel execution of the operationalcontrol component 24 and the following operational control component 25is impossible. For example, in a case where the next operational controlcomponent is the operational control component 25, the control section130 calculates that the parallel execution of the operational controlcomponent 25 and the following operational control component 26 ispossible. A specific example of the determination of the possibility ofthe parallel execution will be described below.

(S76) The control section 130 determines whether it is calculated thatthe parallel execution of each of the operational control componentsthat are the checking targets are possible, from the result of thecalculation in Step S75. In a case where it is calculated that theparallel execution is possible, the processing proceeds to Step S77. Ina case where it is determined that the parallel execution is impossible,the processing is ended.

(S77) The control section 130 updates the execution order of theworkflow 20 for each of the operational control components of which theparallel execution is determined as possible. Specifically, the controlsection 130 acquires a record for the latest-executed operationalcontrol component from the operation model state management table 116.The control section 130 registers a component number of the operationalcontrol component that is to be executed next and a component number ofthe following operational control component that is specified in StepS72, in the post-improvement next-component number of the acquiredrecord. For example, in a case where the next operational controlcomponent is the operational control component 25, the latest-executedoperational control component is the operational control component 24,and the following operational control component is the operationalcontrol component 26. Consequently, the control section 130 sets thecomponent number “5” (the operational control component 25) and thecomponent number “6” (the operational control component 26) for thepost-improvement next-component number, in a record for the operationalcontrol component 24 in the operation model state management table 116.In the case, the operational control components 25 and 26 areparallelized.

(S78) The control section 130 turns to the next operational controlcomponent in the workflow 20. Then, the processing proceeds to Step S72. Moreover, in Step S78, in a case where the following operationalcontrol component is the operational control component that isequivalent to “End”, the following operational control component is notpresent. In this case, the control section 130 causes the processing toproceed to Step S72, and executes Step S72. As a result, in Step S72, itis determined that the following operational control component is notpresent, and processing that calculates the possibility of the parallelexecution of the operational control component that is to be executednext is completed.

According to a procedure in FIG. 33, for the operational controlcomponent that is to be executed next, the control section 130determines that the parallel execution of the operational controlcomponent that is to be executed next and the following multipleoperational control components is possible. For example, after it isdetermined that, in Step S77, the parallel execution of the operationalcontrol components 25 and 26 is possible, when Step S72 is executed, thecontrol section 130 acquires the operational control component 27 as thefollowing operational control component. In this case, the checkingtargets in Step S73 are two pairs, that is, a set of the operationalcontrol components 26 and 27, and a set of the operational controlcomponents 25 and 27. In the calculation of the possibility of theparallel execution in Step S75, in a case where the parallel executionof the operational control components 26 and 27 is possible and theparallel execution of the operational control components 25 and 27 ispossible, the control section 130 calculates that the parallel executionof the operational control components 25, 26, and 27 is possible. On theother hand, in a case where the parallel execution of at least one ofthe operational control components 26 and 27, and the operationalcontrol components 25 and 27 is impossible, the control section 130calculates that the parallel execution of the operational controlcomponents 25, 26, and 27 is impossible.

In this manner, when the first operational control component, the secondoperational control component that follows the first operational controlcomponent, and the third operational control component that follows thesecond operational control component are present, and the parallelexecution of the first and second operational control components ispossible, in a case where the parallel execution of any one of a set ofthe first and third operational control components, and a set of thesecond and third operational control components is possible, the controlsection 130 determines that the parallel execution of the first, second,and third operational control components is possible.

FIG. 34 is a flowchart illustrating an example of the serial executionor of the parallel execution. Processing that is illustrated in FIG. 34will be described below in order of increasing a step number. Thefollowing procedure is equivalent to Step S7 in FIG. 24.

(S81) The execution section 140 specifies the operational controlcomponent that is to be executed next, by referring to thepost-improvement next-component number of the latest-executedoperational control component in the operation model state managementtable 116. Take, for example, the operation model state management table116, when the latest-executed operational control component is theoperational control component 22 (the instance number “1” and thecomponent number “2”), the operational control component that is to beexecuted next is the operational control component 23. Furthermore, whenthe latest-executed operational control component is the operationalcontrol component 24 (the instance number “1” and the component number“4”), the operational control components that are to be executed nextare the operational control components 25 and 26. The execution section140 acquires execution information on the operational control componentthat is to be executed next. The execution information is informationindicating the content of processing by the operational controlcomponent. For example, pieces of execution information include commandinformation for performing the processing (for example, the OSrestarting, the creation of the account, or the like) by the operationalcontrol component on the control target. The command information isstored in advance in the storage section 110 in a state of beingassociated with the operational control component name. Furthermore,pieces of execution information include information on the variablevalue of every variable that is registered in the variable managementtable 113.

(S82) The execution section 140 determines whether the operationalcontrol component is executed in parallel. In a case where the parallelexecution does not take place, the processing proceeds to Step S83. In acase where the parallel execution takes place, the processing proceedsto Step S84. For example, in Step S81, in a case where one operationalcontrol component is to be executed next, the execution section 140determines that the operational control components are not executed inparallel. For example, in Step S82, in a case where multiple operationalcontrol components are to be executed next, the execution section 140determines that the operational control components are executed inparallel.

(S83) The execution section 140 executes the operational controlcomponent in series. For example, in a case where the operationalcontrol component that is to be executed next is the operational controlcomponent 23, the execution section 140 executes only the operationalcontrol component 23. With the execution of the operational controlcomponent 23 by the execution section 140, the server (for example, thebusiness server 200 or the like) that is the control target isinstructed to perform processing in accordance with the operationalcontrol component 23. When a notification that the processing inaccordance with the operational control component is completed isreceived from the server (the business server 200 or the like) that isthe control target, the execution section 140 notifies the controlsection 130 that the execution of the operational control component iscompleted. The control section 130 updates the current component numberin the instance management table 114. For example, if the execution ofthe operational control component 23 (the component number “3”) iscompleted, the current component number in the instance management table114 is updated from “3” to “4”. This is because the post-improvementnext-component number that corresponds to the operational controlcomponent 23 is “4” in the operation model state management table 116.Then, the processing is ended.

(S84) The execution section 140 execute the operational controlcomponent in parallel. For example, in a case where the operationalcontrol components that are to be executed next are the operationalcontrol components 25 and 26, the execution section 140 executes theoperational control components 25 and 26 in parallel. With the executionof the operational control components 25 and 26 by the execution section140, the server (for example, the business server 200 or the like) thatis the control target is instructed to execute processing in accordancewith the operational control components 25 and 26. When a notificationthat the processing in accordance with all the operational controlcomponents that are the targets for the parallel execution is completedis received from the server (the business server 200 or the like) thatis the control target, the execution section 140 notifies the controlsection 130 that the execution of the operational control component iscompleted. The control section 130 updates the current component numberin the instance management table 114. For example, if the execution ofthe operational control components 25 and 26 (the component numbers “5”and “6”) is completed, the current component number in the instancemanagement table 114 is updated from “5” to “7”. This is because thepost-improvement next-component number that corresponds to theoperational control components 25 and 26 is “7” in the operation modelstate management table 116.

In this manner, the operational server 100 causes the execution of theoperational control component to take place. Moreover, In Steps S83 andS84, the execution section 140 sets a variable value of the variablename that is registered in the variable management table 113, accordingto a result of executing the operational control component. For example,there is also a case where the operational control component isprocessing that acquires a variable value that is to be set for acertain variable, from a predetermined file. In this case, the executionsection 140 can acquire the variable value from the server (for example,the business server 200 or the like) that is the control target, and canset the acquired variable value to be in the variable management table113.

Next, a specific example of the determination (Step S75 in FIG. 33) ofthe possibility of the parallel execution for the workflow 20, which isbased on the determination criterion that is described according to thesecond embodiment, is described. FIG. 35 is a diagram illustrating afirst example of the determination of the possibility of the parallelexecution. The control section 130 determines the possibility of theparallel execution of the operational control components 21 and 22 priorto the execution of the operational control component 21. The precedingoperation model of the operational control component 21 is “A”. Thefollowing operation model of the operational control component 22 is“B”.

According to the parallel execution determination criterion definitiontable 118, a determination criterion that corresponds to the precedingoperation model “A” and the following operation model “B” is a recordwith the number “1”. In the operational control components 21 and 22,the names of the servers that are the control target are both “X” andthus are the same, and the servers are the same. The record with thenumber “1” in the parallel execution determination criterion definitiontable 118 indicates that, in a case where the servers are the same, theparallel execution is impossible. Consequently, the control section 130determines that the parallel execution of the operational controlcomponents 21 and 22 is impossible.

FIG. 36 is a diagram illustrating a first example (a continuation) ofthe determination of the possibility of the parallel execution. In anexample in FIG. 35, it is said that it is determined that the parallelexecution is impossible, based on the first determination criterion 31.That is, prior to the execution of the operational control component 21that is “OS restarting”, the state of the control target of each of theoperational control components and the state of the target that has ahierarchical relationship to the control target are acquired and theoperation model state is updated. The operation model that is “OSrestarting” and the operation model that is “checking of activation ofserver” have a reference relationship to the control for the sameserver. Consequently, the control section 130 determines that theparallel execution of the operational control component 21 that is “OSrestarting” and the operational control component 22 that is “checkingof activation of server” is impossible, based on the first determinationcriterion 31.

The execution section 140 executes the operational control component 21serially, based on a result of the determination by the control section130. The operational control component 21 is “OS restarting”. Accordingto the state transition definition table 117, the state of the serverafter the execution of the operational control component 21 is“indefinite”.

FIG. 37 is a second example of the determination of the possibility ofthe parallel execution. Immediately before executing the operationalcontrol component 22 after executing the operational control component21, the control section 130 determines the possibility of the parallelexecution of the operational control components 22 and 23. The precedingoperation model of the operational control component 22 is “B”. Thefollowing operation model of the operational control component 23 is“D”.

According to the parallel execution determination criterion definitiontable 118, a determination criterion that corresponds to the precedingoperation model “B” and the following operation model “D” is a recordwith the number “7”. In the operational control components 22 and 23,the names of the servers that are the control target are both “X” andthus are the same, and the servers are the same. The record with thenumber “7” in the parallel execution determination criterion definitiontable 118 indicates that, in the case where the servers are the same,the possibility of the parallel execution is determined according to thesub-criterion J2. According to the sub-criterion definition table 118 a,in a case where the state of the server that is the control target is“indefinite”, the sub-criterion J2 indicates that the parallel executionis impossible. In this stage, the state of the server that is thecontrol target is “indefinite”. Consequently, the control section 130determines that the parallel execution of the operational controlcomponents 22 and 23 is impossible.

FIG. 38 is a diagram illustrating the second example (a continuation) ofthe determination of the possibility of the parallel execution. In anexample in FIG. 37, it is said that it is determined that the parallelexecution is impossible, based on the first determination criterion 31and the third determination criterion 33.

That is, with the execution of the operational control component 21, “OSrestarting” is completed, the state of each of the operational controlsand the state of the target that has the hierarchical relationship tothe control target are acquired again prior to the execution of“checking of activation of server” takes place, and the state of theoperation model is updated. At this point in time, with “OS restarting”that took place the latest, the state of the server that is the controltarget is “indefinite”. For the operation model that is “checking ofactivation of server” and the operation model that is “checking ofactivation of service”, based on the first determination criterion 31,because the server that are the targets are the same the control section130 determines that there is a relationship (hierarchical relationship)between the operation models, and checks the state of the controltarget. When the state of the server that is the control target ischecked, because the state of the server that is the control target is“indefinite”, based on the third determination criterion, the controlsection 130 determines that the parallel execution of the operationalcontrol components 22 and 23 is impossible.

The execution section 140 executes the operational control component 22serially, based on the result of the determination by the controlsection 130. The operational control component 22 is “checking ofactivation of server”. According to the state transition definitiontable 117, the state of the server after the execution of theoperational control component 22 is “ON”.

FIG. 39 is a diagram illustrating a third example of the determinationof the possibility of the parallel execution. Before executing theoperational control component 23 after executing the operational controlcomponent 22, the control section 130 determines the possibility of theparallel execution of the operational control components 23 and 24. Thepreceding operation model of the operational control component 23 is“D”. The following operation model of the operational control component24 is “C”.

According to the parallel execution determination criterion definitiontable 118, a determination criterion that corresponds to the precedingoperation model “D” and the following operation model “C” is a recordwith a number “14”. In the operational control components 23 and 24, thenames of the servers that are the control target are both “X” and thusare the same, and the servers are the same. Furthermore, the names ofthe resources that are the control targets are “S” for the operationalcontrol component 23 and “Ac” for the operational control component 24,and thus are different from each other. Additionally, the attribute ofthe type of the resource that is the control target is the same as“Service.Account” for the operational control component 23, and the typeof the resource that is the resource of the control target is the sameas “Account” for the operational control component 24. In a case wherethe servers are the same, the names of the resources are different fromeach other, and the types of the resources are the same, the record withthe number “14” in the parallel execution determination criteriondefinition table 118 indicates that the possibility of the parallelexecution is determined according to the sub-criterion J4. According tothe sub-criterion definition table 118 a, the sub-criterion J4 is adetermination criterion in accordance with the server that is thecontrol target, and the state of the resource. In this stage, the stateof the server is “ON”. Any one of the states of the resources is“indefinite”. In a case where the state of the server is other than“indefinite”, and the state of the resource is “indefinite”, thesub-criterion J4 indicates that the parallel execution is impossible.Consequently, the control section 130 determines that the parallelexecution of the operational control components 23 and 24 is impossible.

FIG. 40 is a diagram of the third example (a continuation) of thedetermination of the possibility of the parallel execution. In anexample in FIG. 39, it is said that it is determined that the parallelexecution is impossible, based on the first determination criterion 31,the second determination criterion 32, and the third determinationcriterion 33.

That is, with the execution of the operational control component 22,“checking of activation of server” is completed, the state of thecontrol target of each of the operational control components and thestate of the target that has the hierarchical relationship to thecontrol target are acquired again prior to the execution of “checking ofactivation of service” takes place, and the state of the operation modelis updated. At this point in time, with “checking activation of server”that took place the latest, the state of the target (the state of theserver) that has the hierarchical relationship to the control target is“ON”. In the operation model that is “checking of activation of service”and the operation model that is “creation of account”, because thecontrol target becomes names of different resources on the same server,the presence or absence of the relationship between the resources ischecked as indicated by the first determination criterion 31. The typeof the resource in the operation model that is “checking of activationof service” is “Service.Account” and has the attribute “Account”. Basedon the second determination criterion 32, the control section 130compares the attribute and the type of the resource “Account” in theoperation model that is “creation of account”, and determines that theattribute and the type of the resource “Account” are the same. That is,in the operational control components 23 and 24, it is determined thatthere is a relationship between the resources between the controltargets. Accordingly, based on the third determination criterion 33, thecontrol section 130 checks the states of the target server and thetarget resource. As described above, because the state of the targetserver is “ON” and any one of the states of the target resource is“indefinite”, the control section 130 determines that the parallelexecution of the operational control components 23 and 24 is impossible.

The execution section 140 executes the operational control component 23serially, based on the result of the determination by the controlsection 130. According to the state transition definition table 117, thestate of the resource for the name of the resource “S” and the type ofthe resource “Service.Account” after the execution of the operationalcontrol component 23 is “START”.

Before executing the operational control component 24 after executingthe operational control component 23, the control section 130 determinesthe possibility of the parallel execution of the operational controlcomponents 24 and 25 in the same manner. In this case, according to thesame procedure as described above, the control section 130 determinesthat the parallel execution of the operational control components 24 and25, based on the record with a number “11” in the parallel executiondetermination criterion definition table 118. This is because, in theoperational control components 24 and 25, the name of the server that isthe control target, the name of the resource, and the type of theresource are all the same.

The execution section 140 executes the operational control component 24serially, based on the result of the determination by the controlsection 130. According to the state transition definition table 117, thestate of the resource for the name of the resource “Ac”, and the type ofthe resource “Account” after the execution of the operational controlcomponent 24 is “EXIST” (however, an illustration of a record for thestate transition is omitted in FIG. 19).

FIG. 41 is a diagram illustrating an example of a fourth example of thedetermination of the possibility of the parallel execution. Beforeexecuting the operational control component 25 after executing theoperational control component 24, the control section 130 determines thepossibility of the parallel execution of the operational controlcomponents 25 and 26. The preceding operation model of the operationalcontrol component 25 is “D”. The following operation model of theoperational control component 26 is “D”.

According to the parallel execution determination criterion definitiontable 118, a determination criterion that corresponds to the precedingoperation model “D” and the following operation model “D” is a recordwith a number “15”. In the operational control components 25 and 26, thenames of the servers that are the control target are both “X” and thusare the same, and the servers are the same. Furthermore, the names ofthe resources that are the control target are both “Ac” and thus are thesame, and the resources are the same. Additionally, the types of theresources that are resources of the control target are both “Account”,and thus are the same, and the types of the resources are the same. In acase where the servers are the same, the names of the resources are thesame, and the types of the resources are the same, the record with thenumber “15” in the parallel execution determination criterion definitiontable 118 indicates that the possibility of the parallel execution isdetermined according to the sub-criterion J4. According to thesub-criterion definition table 118 a, the sub-criterion J4 is adetermination criterion in accordance with the server that is thecontrol target, and the state of the resource. In this stage, the stateof the server is “ON”. The state of the resource is “EXIST”. In a casewhere the state of the server is other than “indefinite”, and the stateof the resource is other than “indefinite”, the sub-criterion J4indicates that the parallel execution is possible. Consequently, thecontrol section 130 determines that the parallel execution of theoperational control components 25 and 26 is possible.

FIG. 42 is a diagram illustrating the fourth example (a continuation) ofthe determination of the possibility of the parallel execution. In anexample in FIG. 41, it is said that it is determined that the parallelexecution is possible, based on the first determination criterion 31,the second determination criterion 32, and the third determinationcriterion 33.

That is, with the execution of the operational control component 24,“creation of account” is completed, the state of the control target ofeach of the operational control and the state of the target that has thehierarchical relationship to the control target are acquired againbefore the execution of “acquisition of account information” takesplace, and the state of the operation model is updated. At this point intime, it is apparent from structures of the operation model which is“acquisition of account information and of the operation model which is“checking of home directory of account” that both are referencecontrols, but are the same names of the servers. For this reason, asindicated in the first determination criterion 31, the control section130 checks the presence or absence of the relationship between theresources, from the name of the resource and the type (the attribute) ofthe resource of the target resource, and the control content. In theoperational control components 25 and 26, the type of the targetresource and the name of the resource are same, and are the referencecontrols. For this reason, as indicated in the second determinationcriterion 32, the control section 130 checks the target server and thestate of the target resource again. As a result of checking the statesof the target server and the target resource, the state of the serverthat the control target is “ON” and the state of the resource is“EXIST”. As indicated in the third determination criterion 33, becausethe state of the server and the state of the resource are not“indefinite”, the control section 130 determines that the parallelexecution of the operational control components 25 and 26 is possible.

The control section 130 next check whether the parallel execution ofeach of the set of the operational control component 26 (“checking ofhome directory of account”) and the operational control component 27(“user login”) and the set of the operational control component 25(“acquisition of account information”) and the operational controlcomponent 27 (“user login”) is possible.

FIG. 43 is a diagram illustrating a fifth example of the determinationof the possibility of the parallel execution. After the determination ofthe possibility of the parallel execution that is illustrated in FIGS.41 and 42 is made, the control section 130 determines the possibility ofthe parallel execution of the operational control components 26 and 27prior to the execution of the operational control component 25. Thepreceding operation model of the operational control component 26 is“D”. The following operation model of the operational control component27 is C.

According to the parallel execution determination criterion definitiontable 118, a determination criterion that corresponds to the precedingoperation model “D” and the following operation model “C” is a recordwith a number “14”. In the operational control components 26 and 27, thenames of the servers that are the control target are both “X” and thusare the same, and the servers are the same. Furthermore, the names ofthe resources that are the control target are both “Ac” and thus are thesame, and the resources are the same. Additionally, the types of theresources that are resources of the control target are both “Account”,and thus are the same, and the types of the resources are the same. Inthe case where the servers are the same, the names of the resources arethe same, and the types of the resources are the same, the record withthe number “14” in the parallel execution determination criteriondefinition table 118 indicates that the possibility of the parallelexecution is impossible. Consequently, the control section 130determines that the parallel execution of the operational controlcomponents 26 and 27 is impossible.

In this case, the control section 130 determines that the parallelexecution of the operational control components 25 and 27 is impossible.Then, the control section 130 determines that the parallel execution oftwo operational control components, that is, the operational controlcomponents 25 and 26 is possible, but that the parallel execution ofthree operational control components, that is, the operational controlcomponents 25, 26, and 27 is impossible.

FIG. 44 is a diagram illustrating the fifth example (a continuation) ofthe determination of the possibility of the parallel execution. In anexample in FIG. 44, it is said that it is determined that the parallelexecution is impossible, based on the first determination criterion 31and the second determination criterion 32.

That is, first, the control section 130 compares the operation modelthat is “checking of home directory of account and the operation modelthat is “user login”. Because it is apparent from the structure of theoperation model that the names of the servers are the same, based on thefirst determination criterion 31, the control section 130 checks thepresence or absence of the relationship between the resources, from thename of the resource and the type (the attribute) of the resource of thetarget resource, and the control content. “Checking of home directory ofaccount” and “user login” have the reference relationship to the controlfor the same name of the resource and the same types of the resources.For this reason, as indicated in the second determination criterion 32,the control section 130 determines that the parallel execution of bothof the operational control components (the operational controlcomponents 26 and 27) is impossible. The control section 130 determinesthat the parallel execution of “acquisition of account information” (theoperational control component 25) and “user login” (the operationalcontrol component 27) is impossible.

The control section 130 changes the order in which the operationalcontrol components 25 and 26 of which the parallel execution isdetermined as being possible are executed. FIG. 45 is a diagramillustrating an example of the parallelization. The control section 130sets the component numbers “5”, “6” for the post-improvementnext-component numbers in the record, which is equivalent to theoperational control component 24, in the operation model statemanagement table 116, and thus parallelizes the operational controlcomponents 25 and 26. The workflow 20 a indicates thepost-parallelization workflow 20. For example, the execution section 140executes the operational control components 25 and 26 in parallel,referring to the post-improvement next-component number that is storedin the operation model state management table 116.

FIG. 46 is a diagram illustrating a comparative example of theparallelization. At this point, when each of the operational controlcomponents that are included in the workflow are modeled, it is alsothought that, based on only a combination of the simply-successivemodels, it is determined whether the parallel execution is possible.

According to an example of the workflow 20, the operational controlcomponent 21 can be modeled as a control system, the operational controlcomponent 22 as a reference system, the operational control component 23as the reference system, the operational control component 24 as thecontrol system, the operational control component 25 as the referencesystem, the operational control component 26 as the reference system,and the operational control component 27 as the control system. Then,for example, information indicating “for processing of successivereference systems, parallel execution is possible” is defined inadvance. Thus, it can be determined that the parallel execution of aplace where a pattern in which the parallel execution is possibleappears, and two places, that is, the operational control components 22and 23 and the operational control components 25 and 26 is possible.However, for example, although both are the reference controls, when theoperational control components are executed in parallel, there is apossibility that a suitable operation will not take place. The detailsare as follows.

FIG. 47 is a diagram illustrating the comparative example (acontinuation) of the parallelization. The workflow 20 b is a result ofparallelization of the workflow 20 using a determination technique inthe comparative example that is illustrated in FIG. 46. For example, asthe target of the operational control component 23 that is “checking ofactivation of service”, there is a hierarchical relationship between theserver (for example, the business server 200 or the like) that isindicated by the name of the server “X” and the service with the name ofthe service “S” on the server. Therefore, it is important that the stateof the server with the name of the server “X” is definite (is not in anindefinite state) in the checking of the activation of the service withthe name of the service “S.” This is because, in a case where “checkingof activating of server” and “checking of activation of service” arecaused to take place at the same time without considering thehierarchical relationship and the state of the control target, when“checking of activation of service is caused to take place prior to thestate of the server with the name of the server “X”, which is thecontrol target, is checked, there is a possibility that the workflow 20will not correctly operate. That is, even if the reference to differentcontrol targets is made, in a case where the control targets has avertical relationship in terms of the hierarchy, with respect to eachother, the reference has to be made in the order in compliance with thevertical relationship in terms of the hierarchy, and the parallel(concurrent) reference does not have to be made.

In addition to this, the state of the control target dynamically changeswhile an operational work is in progress (while the workflow is inexecution). However, in a method in the comparative example that isillustrated in FIG. 46, the operational control component is modeledprior to the execution of the workflow. For this reason, when it isdetermined whether the parallel execution is possible, the state of thecontrol target that includes the hierarchical relationship can beconsidered. In a case where the state of the control target changes withtime, there is also present a case where the state of the control targetis indefinite. For this reason, when the state of the control targetthat includes the hierarchical relationship is not considered, thepossibility of the parallel execution is difficult to suitablydetermine.

As another method, in order to determine whether the parallel executionis possible, it is also thought that the modeling method in FIG. 46 isnot used. For example, it is thought that combinations of priorities(the order) of all the operational control components in terms ofpre-processing and post-processing and the states (the state of thecontrol target and the state of the target that has the hierarchicalrelationship to the control target) of all the targets are consideredand definitions are made. However, the number of all the combinations ofthe states, which have to be considered, is enormous, and it takes agreat work cost in considering all the combinations and making thedefinitions manually in advance. This is not realistic.

Even if the definitions are made, when whether the parallel execution ispossible is set to be determined when each of the operational controlcomponents is executed, based on enormous pattern definitions, all thecombinations are checked for all the operational control components. Forthis reason, an arithmetic operation cost for determining whether or theparallel execution is possible is enormous, and the time taken for theexecution of the workflow increases.

Originally, the parallel execution is thought of as a section thatexecutes the workflow earlier. However, when a lot of time is consumedfor determining whether the parallel execution is possible, this runcounter to the original purpose of executing the workflow earlier.

In contrast, with the operational server 100, it is possible todynamically determine the possibility of the parallel execution of eachof the operational control component, based on the operation model thatis updated when the operational control component is executed, and onthe determination criterion for the possibility of the parallelexecution, which is defined based on the operation model. Theoperational server 100 narrows the operational control components thatare the targets for the determination of the possibility of the parallelexecution using the information that changes dynamically, based on theinformation on the operation model of the operational control component.Accordingly, a detailed study for the determination of the possibilityof the parallel execution of the operational control components can belimited to a case of a combination of specific servers or resources. Forthis reason, when the possibility of the parallel execution of theoperational control component while the workflow is in execution isdetermined dynamically, the arithmetic operation cost is more reducedfor all the operational control component than when the possibility ofthe parallel execution is determined using the enormous patterndefinitions for all the combinations of the states of the controltargets. Furthermore, the places of which the parallel execution ispossible is executed in parallel dynamically when the workflow isexecuted, and thus the workflow can be executed earlier for the workflowthat is executed in series (sequentially).

Furthermore, for example, in a case where the workflow that is executedin parallel is defined by the user, the user defines the workflow thatis executed in parallel, considering the order of the operationalcontrol components, the integrity of information that is controlled bythe operational control component, and the like. When the user ispressed for this work, an artificial mistake can occur in the workflowdefinition. In contrast, the operational server 100 dynamical determinesthe parallel execution place, which accompanies the execution of theworkflow, for the workflow that is defined as being executed in series.For this reason, the processing ends without the user being pressed forconsidering the order of the operational control components or theintegrity of the information and thus making the definition of theworkflow including the parallel execution place. Consequently, theartificial mistake can be suppressed in the workflow definition.

Moreover, the information processing according to the first embodimentcan be realized by causing the arithmetic operation section 1 b toexecute a program. Furthermore, the information processing according tothe second embodiment can be realized by causing the processor 101 toexecute the program. The program can be recorded on a computer-readablerecording medium 13.

For example, the program can be circulated by distributing the recordingmedium 13, on each of which the program is recorded, is recorded.Furthermore, the program may be stored in a different computer and theprogram may be distributed over the network. The computer, for example,may store (install) the program recorded on the recording medium 13 orthe program received from the different computer in the storage devicesuch as a RAM 102 or the HDD 103 and may read and execute the programfrom the storage device.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the inventionand the concepts contributed by the inventor to furthering the art, andare to be construed as being without limitation to such specificallyrecited examples and conditions, nor does the organization of suchexamples in the specification relate to a showing of the superiority andinferiority of the invention. Although the embodiments of the presentinvention have been described in detail, it should be understood thatthe various changes, substitutions, and alterations could be made heretowithout departing from the spirit and scope of the invention.

What is claimed is:
 1. An operational control management method executedby a management computer coupled to a memory, comprising: judging, in aworkflow stored in the memory, whether a first operational controlincluded in the workflow to be executed next under control of themanagement computer and a second operational control in the workflowthat follows the first operational control include first and secondcomputers, respectively, based on operation categorization informationthat results from categorizing each of the operational controls of themanagement computer based on an operation target computer and operationcontent; determining, by the management computer, a possibility ofparallel execution of the first and second operational controls, basedon relationships of the first operational control and the secondoperational control to the first and second computers, respectively, andon operation situations of the first and second computers, with whichthe first and second operational controls are respectively associated;and performing the parallel execution of the first and secondoperational controls by at least the first and second computers based onthe possibility of the parallel execution.
 2. The operational controlmanagement method according to claim 1, wherein the operationcategorization information includes operation categorization informationthat results from categorizing each of the operational controlsaccording to a combination of the operation target computer and theoperation content, and wherein, in the judging, it is judged whether thefirst and second computers are available for the workflow, based on adetermination criterion that corresponds to a set of operationcategories of the first and second operational controls, among pieces ofdetermination criterion information indicating the determinationcriterion for the possibility of the parallel execution in accordancewith a set of an operation category of a preceding operational controland an operation category of a following operational control.
 3. Theoperational control management method according to claim 2, wherein thedetermination criterion includes information indicating whether the setof the operation categories is the determination target computer inaccordance with consistence or a difference between operation targetcomputers of the preceding operational control and the followingoperational control, and wherein, in the judging, it is judged whetherthe first and second computers are available for the workflow, dependingon the consistency or the difference between the operation targetcomputers of the first and second operational controls, based on thedetermination criterion.
 4. The operational control management methodaccording to claim 1, wherein the operation content includes controlprocessing that changes a state of the operation target computer andreference processing that does not change the state of the operationtarget computer.
 5. The operational control management method accordingto claim 1, wherein the relationship of the second operational controlto the second computer includes a hierarchical relationship between thesecond computer and a resource on the second computer.
 6. Theoperational control management method according to claim 5, wherein theresource is specified by a name of the resource and a type of theresource, and wherein the hierarchical relationship further includes ahierarchical relationship between the type of the resource and anattribute of the type of the resource, by which the second computer issubcategorized based on the resource.
 7. The operational controlmanagement method according to claim 5, wherein, in the determining, anoperation situation of each of the first and second computers andcorresponding resources, with which the first and second operationalcontrols are associated is checked, and the possibility of the parallelexecution is determined based on a combination of operation situations.8. The operational control management method according to claim 7,wherein, in the determining, according to operation target computers andoperation contents of the first and second operational controls, whenthe operation situation is indefinite, the parallel execution of thefirst and second operational controls is determined to be impossible,and wherein, in the determining, according to the operation targetcomputers and the operation contents of the first and second operationalcontrols, when the operation situation is other than indefinite, theparallel execution of the first and second operational controls isdetermined to be possible.
 9. The operational control management methodaccording to claim 8, wherein, in the determining, according to theoperation target computers and the operation contents of the first andsecond operational controls, when the operation situation is other thanindefinite and an operation situation of the resource is indefinite, theparallel execution of the first and second operational controls isdetermined to be impossible, and wherein, in the determining, accordingto the operation target computers and the operation contents of thefirst and second operational controls, when the operation situation isother than indefinite and the operation situation of the resource isother than indefinite, the parallel execution of the first and secondoperational controls is determined to be possible.
 10. The operationalcontrol management method according to claim 1, wherein, in thedetermining, in a case where it is determined that the parallelexecution of the first and second operational controls is possible, apossibility of parallel execution of a third operational control thatfollows the second operational control, and the first and secondoperational controls is further determined.
 11. An operational controlmanagement apparatus that determines a possibility of parallel executionof operational controls that are included in a workflow of computerprocessing, the apparatus comprising: a memory configured to store theworkflow, and operation categorization information that results fromcategorizing each of the operational controls based on an operationtarget computer and operation content; and at least one processorcoupled to the memory and configured to judge whether a firstoperational control in the workflow that is to be executed next undercontrol of a management computer and a second operational control in theworkflow controlled by the management computer following the firstoperational control include first and second computers, respectively,based on the operation categorization information, wherein, in a casewhere the first operational control and the second operational controlinclude the first and second computers, the at least one processordetermines a possibility of the parallel execution of the first andsecond operational controls, based on relationships of the firstoperational control and the second operational control to operationtarget computers and on operation situations of the operation targetcomputers with which the first and second operational controls areassociated, and controls the parallel execution of the first and secondoperational controls by at least the first and second computers, basedon the possibility of the parallel execution.
 12. A non-transitory,computer-readable storage medium having stored therein an operationalcontrol management program causing a management computer to execute aprocess of an operational control which determines a possibility ofparallel execution of operational controls that are included in aworkflow of computer processing, the process comprising: judging whethera first operational control in the workflow in a memory to be executednext under control of the management computer and a second operationalcontrol in the workflow controlled by the management computer followingthe first operational control include first and second computers,respectively, based on operation categorization information that resultsfrom categorizing each of the operational controls of the managementcomputer based on an operation target computer and operation content;determining a possibility of the parallel execution of the first andsecond operational controls, based on relationships of the firstoperational control and the second operational control to the first andsecond computers, respectively, and on operation situations of the firstand second computers, with which the first and second operationalcontrols are respectively associated; and performing the parallelexecution of the first and second operational controls by at least thefirst and second computers, respectively, based on the possibility ofthe parallel execution.